Buscar en otros archivos |
Responder | Página 12> |
Autor | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
AnSanVal
Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Administrador Unido: 16/Marzo/2005 Localización: España Estado: Sin conexión Puntos: 5976 |
Tema: Buscar en otros archivos Enviado: 18/Octubre/2019 a las 21:39 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Como jilo ya te aclaró perfectamente tu duda, solamente añado que en la declaración de variables... Dim celda As Range, celda1$, fila& La variable resaltada en rojo sobra, la declaré en una versión anterior (del código) y olvidé quitarla. Cierro el hilo. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Saludos desde Tenerife.
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Gladiador
Asiduo Unido: 22/Junio/2006 Localización: Venezuela Estado: Sin conexión Puntos: 220 |
Enviado: 18/Octubre/2019 a las 04:11 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Gracias Jilo.
Creo que ya se puede cerrar el hilo. Muy agradecido por la ayuda
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
jilo
Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Colaborador Unido: 19/Diciembre/2004 Localización: TAFALLA Estado: Sin conexión Puntos: 959 |
Enviado: 17/Octubre/2019 a las 18:40 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Con permiso de AnSaVal... Dim celda As Range, celda1$, fila& = Dim celda As Range, celda1 As String, fila As Long Son abreviatura que se pueden usar para dimensionar variables. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Espero te sirva !!!!!!
Iñaki |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Gladiador
Asiduo Unido: 22/Junio/2006 Localización: Venezuela Estado: Sin conexión Puntos: 220 |
Enviado: 17/Octubre/2019 a las 15:23 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Hola
WAO! esto funciona de MARAVILLA Voy a usar una expresión muy popular en Argentina AnSanVal "Sos lo MÁS" Solo me queda una curiosidad Me puedes explicar la linea/instrucción Dim celda As Range, celda1$, fila& Por que usas Dim celda1$ y fila& Pero luego, en los comandos solo usas celda1 y/o fila sin los signos $/&???? Muchas gracias
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
AnSanVal
Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Administrador Unido: 16/Marzo/2005 Localización: España Estado: Sin conexión Puntos: 5976 |
Enviado: 16/Octubre/2019 a las 20:09 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Como mi ejemplo anterior no conserva las fórmulas (en realidad no edita), prueba con esta otra, que coloca la fórmula directamente en , mostrando la fecha. Sub Formulas() Dim celda As Range, celda1$, fila& celda1 = ActiveCell.Address Application.ScreenUpdating = False For fila = 5 To Cells(Rows.Count, 1).End(xlUp).Row Cells(fila, 2).Formula = "=MAX('D:\Documentos\Fichas Digitales\" & Cells(fila, 1).Value & "'!Fecha)" Next fila Range(celda1).Select Application.ScreenUpdating = True End Sub Probé con 300 nombres (10 nombres repetidos hasta fila 309) y tarda 1 segundo. Ya contarás como te va en el caso real. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Saludos desde Tenerife.
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
AnSanVal
Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Administrador Unido: 16/Marzo/2005 Localización: España Estado: Sin conexión Puntos: 5976 |
Enviado: 16/Octubre/2019 a las 19:05 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Sub Prueba() Dim celda As Range For Each celda In Range("C5:C14").Cells celda = celda.Value Next celda End Sub |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Saludos desde Tenerife.
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Gladiador
Asiduo Unido: 22/Junio/2006 Localización: Venezuela Estado: Sin conexión Puntos: 220 |
Enviado: 15/Octubre/2019 a las 23:49 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Hola. Gracias por tu sugerencia.
Sería ideal tener toda la información de los alumnos en un solo libro. Pero ya hace tiempo que el instituto lo lleva de esa manera. He desarrollado una solución adicional, pero necesito una pequeña ayuda.
Los datos los he colocado a partir de la fila 5. Por lo tanto en la celda B5 he colocado la siguiente fórmula =CONCATENAR("=";"MAX('D:\Documentos\Fichas Digitales\";$A5;"'!Fecha)") Esta fórmula la he copiado hasta el final de la lista En la celda C5 he realizado un COPIAR y PEGAR-VALORES de la celda B5. Cuando edito la celda (F2) y pulso "Enter" me aparece la fecha que necesito. Esto ya me ha pasado antes cuando he descargado datos en Excel (desde mi banco). En la hoja descargada, me aparecen las cantidades como si fuesen texto (a la izquierda de la celda) las cuales al editarla (F2) se colocan a la derecha. Como podría construir una macro que Edite cada celda de la columna C? Gracias |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
AnSanVal
Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Administrador Unido: 16/Marzo/2005 Localización: España Estado: Sin conexión Puntos: 5976 |
Enviado: 15/Octubre/2019 a las 22:30 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Te pongo el enlace a un ejemplo con los datos de origen en una Tabla Excel de nombre BD. https://1drv.ms/x/s!AiHNLEcByIEjmxnzZK7-QGffr0-M?e=WvCEiC En el ejemplo supongo que las fechas las tienes ordenadas cronológicamente (más antigua a más reciente). |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Saludos desde Tenerife.
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
AnSanVal
Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Administrador Unido: 16/Marzo/2005 Localización: España Estado: Sin conexión Puntos: 5976 |
Enviado: 15/Octubre/2019 a las 20:59 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Mira como sería con todos los alumnos en un solo libro; siendo fechas = A2:A10000 y nombres = B2:B10000 (o más):
[E2] =INDICE(fechas;SUMAPRODUCTO(MAX((nombres=D2)*(FILA(nombres)-1)))) Editado por AnSanVal - 15/Octubre/2019 a las 21:01 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Saludos desde Tenerife.
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
AnSanVal
Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Administrador Unido: 16/Marzo/2005 Localización: España Estado: Sin conexión Puntos: 5976 |
Enviado: 12/Octubre/2019 a las 13:37 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Gracias también a ti por la retroalimentación. - Si quieres cerrar la consulta no hay problema. En caso de encontrar la macro E 4.0 te lo haré saber (aunque actualmente no tengo mucho tiempo).
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Saludos desde Tenerife.
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Gladiador
Asiduo Unido: 22/Junio/2006 Localización: Venezuela Estado: Sin conexión Puntos: 220 |
Enviado: 11/Octubre/2019 a las 04:39 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Hola AnSanVal, muy agradecido por tu ayuda. Ya lo probé y funcionó. Excelente tu aporte como siempre No se si pedir el cierre el hilo, pues dices que tienes una macro que no abre los libros. Sería muy bueno si la encuentras, pues creo que haría la operación mas rápida. De todos modos te estoy muy agradecido Gladiador
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
AnSanVal
Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Administrador Unido: 16/Marzo/2005 Localización: España Estado: Sin conexión Puntos: 5976 |
Enviado: 09/Octubre/2019 a las 21:59 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Este ejemplo en realidad abre cada libro, captura la fecha y cierra el libro. Tengo un ejemplo con macro de Excel 4.0 (que no abre los libros), pero no recuerdo donde la tengo. Sub Act_Fechas() Dim ArchivoO As String, wb As Workbook, fila&
'Desactiva actualización de pantalla (para evitar parpadeo). Application.ScreenUpdating = False For fila = 2 To Cells(Rows.Count, 1).End(xlUp).Row 'Ruta del archivo. ArchivoO = "D:\Documentos\Fichas Digitales\" & Cells(fila, 1).Value 'Abre el libro fuente. Sólo lectura. Set wb = Workbooks.Open(ArchivoO, True, True) 'Escribe la última fecha. ThisWorkbook.Worksheets(1).Cells(fila, 2).Value = _ wb.Worksheets(1).Cells(Rows.Count, 1).End(xlUp).Value 'Cierra el libro fuente. wb.Close False Next fila 'Activa actualización de pantalla. Application.ScreenUpdating = True 'Libera el espacio de la variable wb. Set wb = Nothing End Sub - La macro debe estar en un módulo ordinario del libro (xlsm) que contiene la lista de nombres, y debes ejecutarla siendo la hoja activa la hoja que contiene la lista. - He hecho pruebas con una lista de 3 nombres (3 libros) y funciona sin problemas. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Saludos desde Tenerife.
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
AnSanVal
Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Administrador Unido: 16/Marzo/2005 Localización: España Estado: Sin conexión Puntos: 5976 |
Enviado: 09/Octubre/2019 a las 21:11 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Vale, lo miro y te cuento (no había podido entrar por aquí). |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Saludos desde Tenerife.
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Gladiador
Asiduo Unido: 22/Junio/2006 Localización: Venezuela Estado: Sin conexión Puntos: 220 |
Enviado: 09/Octubre/2019 a las 04:11 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
He construido, esta tabla, a manera de ejemplo de lo que necesito. En el lado derecho he colocado la fórmula que utilicé.
Lo que me gustaría, es que cada vez que actualice los nombres de los archivos, se actualice la fecha de la última actividad que tiene cada archivo
Lo que me gustaría es que la fórmula tome el nombre del archivo, de la columna "A" que es donde se copió la lista de los archivos Digamos algo como esto: B2 = MAX('D:\Documentos\Fichas Digitales\A2!Fecha) B3 = MAX('D:\Documentos\Fichas Digitales\A3!Fecha) B4 = MAX('D:\Documentos\Fichas Digitales\A4!Fecha) Gracias
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Gladiador
Asiduo Unido: 22/Junio/2006 Localización: Venezuela Estado: Sin conexión Puntos: 220 |
Enviado: 09/Octubre/2019 a las 03:52 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Gracias AnSanVal.
Los archivos están ubicados en el siguiente directorio D:\Documentos\Fichas Digitales\ Todos los archivos, tienen una hoja donde se anota la actividad (asistencia) del alumno. El rango de celdas de la fila donde se anotan las fechas se ha nombrado "Fecha", es por eso que busco el valor mayor de ese rango. En un archivo aparte, he anotado el nombre de los archivos (fichas digitales) que son nombradas con el nombre y apellido de cada alumno. Lo que deseo construir es una lista con la última fecha de actividad de cada alumno. No se que otra información pueda suministrar Muy agradecido por la colaboración Gladiador
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Responder | Página 12> |
Tweet
|
Ir al foro | Permisos de foro Usted No puede publicar nuevos temas en este foro Usted No puede responder a temas en este foro Usted No puede borrar sus mensajes en este foro Usted No puede editar sus mensajes en este foro Usted No puede crear encuestas en este foro Usted No puede votar en encuestas en este foro |