Jump to content

pegones1

Members
  • Posts

    801
  • Joined

  • Last visited

  • Days Won

    30

Everything posted by pegones1

  1. Ya puedes descargar un Test de Excel, hecho con el cálculo iterativo de las fórmulas de Excel.¡Mentira!¡No lo vas a poder descargar!He incrustado el test en mi blog, y sólo vas a poder realizar el test en modo online, desde un navegador Web o con una tableta o un móvil Android o Mac. Enlace aquí:https://pedrowave.blogspot.com/2021/10/test-de-excel-con-calculo-iterativo.html Ventajas de tener el Test de Excel en la nube: No contiene macros VBA ni Office Script. Se actualiza automáticamente al ser un Excel en la Web. Siempre verás la versión más actualizada del Test. Todos los usuarios harán el Test en las mismas condiciones. Se puede hacer el Test en la nube, incluso sin tener Excel instalado. Puedes hacer comentarios al Test en la nube. Puedo actualizar el Test cuando quiera para añadir más preguntas. Puedo modificar su comportamiento, mejorar su uso y/o corregir errores. Puedo proteger mucho mejor mis derechos de autor, para que no se pueda copiar mi idea de este Test de Excel. Gracias anticipadas por seguirme, por tus reacciones y por tus comentarios.
  2. No debe importarnos que el usuario que abrió el tema no vuelva a consultarlo porque nuestras respuestas le llegaron demasiado tarde... Lo importante es poder ayudar a otros usuarios que tengan un problema similar en el futuro...
  3. Es una opción original e ingeniosa pero creo que difícil de comprender para un usuario que sepa fórmulas sencillas... Adjunto otra opción con fórmulas desbordadas que puede que sea más fácil de comprender para un usuario que esté aprendiendo a formular, pues hay 3 pasos separados: Columna D : A cada valor se le añade 1> a la izquierda, se sustituye el primer + por 2> y el segundo + por 3>. De paso se quitan los signos , y . para convertir los valores en números. Todo ello con la función SUSTITUIR. ="1>"&SUSTITUIR(SUSTITUIR(SUSTITUIR(SUSTITUIR($C2;",";"");".";"");"+";"2>";1);"+";"3>";1) Columna E (desbordada hacia la derecha en las columnas F y G): Extrae los valores y letras de 1>, 2> y 3>. Todo ello con una versión matricial de la función EXTRAE, con la ayuda de la función ENCONTRAR. =SI.ERROR(SUSTITUIR(EXTRAE($D2;ENCONTRAR({"1>"\"2>"\"3>"};$D2);SI.ERROR(ENCONTRAR({"2>"\"3>"\"0>"};$D2);100)-ENCONTRAR({"1>"\"2>"\"3>"};$D2));{"1>"\"2>"\"3>"};"");"") Sumas de C, T y V: Suma las cantidades consumidas de cada letra con la función SUMAPRODUCTO. Salu2, Pedro Wave Sumar Letras PW1.xlsx
  4. @Alberto González, prueba el adjunto. Salu2, Pedro Wave Cantidades Consumidas PW1.xlsx
  5. Prueba el adjunto con una solución sin macros. He usado una misma segmentación de datos Nombre con conexión a las dos tablas dinámicas de Ciudades y Meses. Se puede aprender en este enlace cómo: Usar las segmentaciones para filtrar datos (microsoft.com) Salu2, Pedro Wave macrofilter_PW1.xlsx
  6. Prueba el adjunto en el que he añadido a la macro SeleccionarFoto instrucciones para cuando la hoja 'FOTOS' está oculta: Option Explicit Sub SeleccionarFoto(sNombre As String) ' ' Selecciona la foto de un alumno desde la hoja FOTOS ' Dim lFila As Long ' Busca al alumno en la hoja FOTOS lFila = Application.Match(sNombre, Sheets("FOTOS").Columns(2), 0) If Not IsError(lFila) Then ' No refresca la pantalla Application.ScreenUpdating = False ' Selecciona la celda con la foto Sheets("FOTOS").Visible = True Sheets("FOTOS").Select Range("C" & lFila).Select ' Guarda el rango de la foto como imagen JPG en el directorio local SaveRangeAsPicture ' Hoja INICIO Sheets("FOTOS").Visible = False Sheets("INICIO").Select ' Refresca la pantalla Application.ScreenUpdating = True End If End Sub Salu2, Pedro Wave Copia Fotos PW4.xlsm
  7. En mi blog comparto archivos de OneDrive sin necesidad de tenerlo instalado en el dispositivo de destino. Lo primero que hago es compartir el archivo en OneDrive (Ver enlace aquí) Lo segundo que hago es abrirlo en el navegador, donde se puede ver su dirección web: https://onedrive.live.com/edit.aspx?cid=6b219f16da7128e3&page=view&resid=6B219F16DA7128E3!68229&parId=6B219F16DA7128E3!108&app=Excel Y dentro de su dirección web el parámetro: resid=6B219F16DA7128E3!68229 Edito el siguiente enlace con ese parámetro: https://onedrive.live.com/download.aspx?resid=6B219F16DA7128E3!68229 Este enlace es el que comparto en mi blog o en cualquier correo, WhatsApp, etc., pues es una descarga directa del archivo compartido en OneDrive. Salu2, Pedro Wave
  8. Prueba la fórmula: =CONTARA(J4#) Salu2, Pedro Wave
  9. Revisa el nombre de la hoja donde están las fotos
  10. Sigo sin poder resolver qué semanas son de cada mes y además un número de semana puede ser de dos meses consecutivos??? Ya me dirás si estos valores se corresponden con estas fechas de comienzo del año: Salu2, Pedro Wave
  11. La pregunta formulada de otra manera: ¿Eres de un país europeo? Si es así, usas el sistema 2 de numeración de semanas. Si no es así, usas el sistema 1 de numeración de semanas. Salu2, Pedro Wave
  12. Prueba el adjunto. Con Power Query he anulado la dinamización de columnas para conseguir una tabla normalizada en la hoja 'TablaOrigen'. Esa tabla normalizada es el origen de datos de 3 tablas dinámicas en la hoja 'Tablas Dinámicas' TablaDinámica_Todo: con todas los valores y porcentajes por semana. TablaDinámica_10mejores: con los % de las 10 mejores semanas. TablaDinámica_PorcentajeSemanal: con los % de participación de cada día por semana. Los números de semana son ambiguos y no se puede establecer a priori a que mes corresponden. Excel admite 2 sistemas de conteo de números de semana (Ver enlace aquí): Sistema 1: La semana que contiene el 1 de enero es la primera semana del año y se numera como semana 1. Sistema 2: La semana que contiene el primer jueves del año es la primera semana del año y se numera como semana 1. Este sistema es la metodología especificada en ISO 8601, que generalmente se conoce como el sistema de numeración de semanas europeo. ¿Qué sistema has usado para generar la columna Semana? Salu2, Pedro Wave Ayuda tabla tabla dinamica PW1.xlsx
  13. He modificado la macro que busca las fotos con la función Match para que siga buscando el siguiente alumno con Find: Option Explicit Sub SeleccionarFoto(sNombre As String) ' ' Selecciona la foto de un alumno desde la hoja FOTOS ' Dim lFila As Long ' Busca al alumno en la hoja FOTOS lFila = Application.Match(sNombre, Sheets("FOTOS").Columns(2), 0) If Not IsError(lFila) Then ' No refresca la pantalla Application.ScreenUpdating = False ' Selecciona la celda con la foto Sheets("FOTOS").Select Range("C" & lFila).Select ' Guarda el rango de la foto como imagen JPG en el directorio local SaveRangeAsPicture ' Hoja INICIO Sheets("INICIO").Select ' Refresca la pantalla Application.ScreenUpdating = True End If End Sub De paso he añadido en la hoja 'FOTOS' el chequeo de alumnos con la función COINCIDIR en la columna A, y he modificado los alumnos que no coincidían con la hoja 'ALUMNADO'. También he modificado el código del formulario frmAlum para que no encuentre la primera fila de encabezado de la hoja 'ALUMNADO', con lo que ya no ocurrirá esto al buscar por "ap": Salu2, Pedro Wave Copia Fotos PW3.xlsm
  14. Sustituye xlFormulas2 por xlValues en las dos llamadas a la función Find Ya me dirás si así te funciona el adjunto. Salu2, Pedro Wave Copia Fotos PW2.xlsm
  15. @nickmartinez, si aún estás interesado en una solución, dame acceso a Google Drive o intenta adjuntar el archivo de nuevo... Salu2, Pedro Wave
  16. Prueba el adjunto con el que, cada vez que se busca un alumno, guarda su foto desde la hoja FOTOS en la carpeta local para cargarla de nuevo con LoadPicture. He modificado el código de Bot_Buscar_Click con: ' Selecciona la foto de un alumno desde la hoja FOTOS SeleccionarFoto frmAlum.TxtApe.Text Ruta = ActiveWorkbook.Path & Application.PathSeparator & "Foto.jpg" En el módulo ModFoto está la macro: Sub SeleccionarFoto(sNombre As String) ' ' Selecciona la foto de un alumno desde la hoja FOTOS ' Dim lFila As Long Application.ScreenUpdating = False ' Busca al alumno Sheets("FOTOS").Select Columns("B:B").Select lFila = Selection.Find(What:=sNombre, After:=ActiveCell, LookIn:= _ xlFormulas2, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:= _ xlNext, MatchCase:=False, SearchFormat:=False).Row If lFila = 0 Then ' Si no encuentra al alumno lFila = Selection.Find(What:="Default", After:=ActiveCell, LookIn:= _ xlFormulas2, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:= _ xlNext, MatchCase:=False, SearchFormat:=False).Row End If ' Selecciona la celda con la foto Range("C" & lFila).Select ' Guarda el rango de la foto como imagen JPG en el directorio local SaveRangeAsPicture Sheets("INICIO").Select Application.ScreenUpdating = True End Sub Que llama a la macro Sub SaveRangeAsPicture() 'PURPOSE: Save a selected cell range as a JPG file to computer's desktop 'SOURCE: https://www.thespreadsheetguru.com/blog/vba-save-as-picture-file-excel Salu2, Pedro Wave Copia Fotos PW1.xlsm
  17. Gracias por probarlo en esa versión. Añadí la posibilidad de cambiar de velocidad porque la bola es mucho más rápida en Excel 2010 que en versiones modernas.
  18. ⛱ He programado un nuevo juego para pasar un buen rato este verano atrapando bolas sin salir de Excel. © Como no puedo adjuntarlo en el subforo de "Ideas y Aportes", quisiera que descargaras el nuevo juego "Atrapa la Bola" desde mi blog: Catch the Ball Game - Juego Atrapa la Bola y decirme si funciona en tu versión de Excel. 🎴 Con este juego del verano puedes aprender a programar macros VBA de una manera diferente a cómo las usas en la oficina. Y también aprenderás trucos para avanzar en tus conocimientos de Excel. 😏 Si alguien te mira por encima del hombro mientras juegas, puedes ocultar el juego con un solo clic del ratón. 🚮 A ver si sabes decirme cómo ocultar el juego de miradas indiscretas en un comentario...
  19. 😂 Como ya me he jubilado ya no me interesan las notas. Lo que me interesa es que quienes usan Excel sean capaces por sí mismos de, con un poco de ayuda, resolver los problemas que les plantean en sus diversas profesiones u oficios o estudios, como a mí me tocó resolver retos mientras fui ingeniero de datos en unas cuantas empresas multinacionales durante mis 10 últimos años de carrera profesional, como se puede ver en este vídeo: YouTube - Mi Carrera Profesional como Ingeniero Salu2, Pedro Wave
  20. Como veo que tienes las respuestas, tengo que decir que no tengo por costumbre hacer ejercicios de preparación para exámenes de Excel, por lo que no voy a seguir ayudando. Espero que lo que he enviado sirva para que estudies cómo lo he hecho y aprendas por tu cuenta a resolver problemas similares. Siempre conviene estudiar las funciones a usar y sus argumentos. SUMAR.SI.CONJUNTO(rango_suma; rango_criterios1; criterios1) En la hoja Tablas: Hay que saber elegir bien el tercer argumento. Si sabes hacerte la pregunta adecuada, sabrás la respuesta. Los rangos deben ser absolutos para no liarla... Usa el separador de argumentos a tu conveniencia. Con estas 3 pistas ¡piensa un poco y resuelve tú mismo! No es "exelente", es excelente porque la he parido yo. Intenta hacer lo mismo y aprenderás más que copiando y pegando fórmulas... Es un consejo bien intencionado... Salu2, Pedro Wave
  21. Has querido decir 150.000 Fórmula en la celda J4 dividida por el valor de la celda I4, con lo que será: =INDICE(TablaCursos[Importe ¢],Recaudación!$F4)*SI($E4="F",0.85,SI($F4=2,0.9,1))/$I4 Salu2, Pedro Wave
  22. Adjunto posible solución en la que he puesto nombre a las tablas y he añadido una columna auxiliar en la tabla de fallos, para cambiar la función BUSCARV por el par de funciones: COINCIDIR e INDICE. Salu2, Pedro Wave archivo PW1.xlsx
  23. Como dice @Silvia es imposible introducir un número de más de 15 cifras significativas, por lo que los números de 17 cifras se deben introducir como textos. Pasos a seguir en la celda B4: Introduce el número de 17 dígitos como texto, anteponiendo un signo de apóstrofo: '19563844513545613 Personaliza el formato de la celda: "990"@ Crea una validación de datos personalizada con la fórmula: =Y(LARGO(B4)=17;ESNUMERO(--EXTRAE(B4;1;10));ESNUMERO(--EXTRAE(B4;11;7))) Con esta validación se deben introducir 17 dígitos numéricos y no admite letras. Arrastrar la celda hacia abajo para introducir otras tarjetas. Nunca convertir en número el texto con los números de tarjetas !!! Adjunto ejemplo. Salu2, Pedro Wave Tarjeta 990 + 17 dígitos PW1.xlsx
  24. El fallo es pensar que WebBrowser usa el navegador Edge, que no genera errores de scripts. El control WebBrowser forma parte de Internet Explorer y solo se puede usar en sistemas que tengan instalado Internet Explorer, como se explica en este enlace. Lo que ocurre es que Internet Explorer no soporta las nuevas scripts de Edge y genera errores que hay que silenciar con este código: Private Sub CommandButton1_Click() Dim ie As WebBrowser ' Pone WebBrowser Set ie = WebBrowser1 ' Ignora errores de script ie.Silent = True ' Navega a la URL de la página Web ie.Navigate "https://youtu.be/njo-zPJZksM" End Sub No he probado esta macro pues en Microsoft 365 no está habilitado el control WebBrowser. Ya me contarás si a ti te funciona. Salu2, Pedro Wave
  25. ' Declaración incorrecta como libros Private Sub ArrayCopy() Dim sH As Workbook Dim Wb As Workbook ' Declaración de variables como hojas Private Sub ArrayCopy() Dim sH As Worksheet Dim Wb As Worksheet La instrucción Set define esas 2 variables como hojas de cálculo. Salu2, Pedro Wave
×
×
  • Create New...

Important Information

Privacy Policy