MACRO PARA ACTUALIZAR VARIAS HOJAS DESDE UN ARCHIVO MASTER

4 envíos / 0 nuevos
Último envío
Daavid1000
Imagen de Daavid1000
Offline
última acción: Hace 9 años 9 meses
alta: 22/07/2014 - 23:40
Puntos: 33
MACRO PARA ACTUALIZAR VARIAS HOJAS DESDE UN ARCHIVO MASTER

HOLA ESPERO PUEDAN AYUDARME,

 

EN UN ARCHIVO QUE UTILIZO COMO BASE DE DATOS CONCENTRO INFORMACIÓN DE VARIAS ÁREAS A TRAVÉS DE VÍNCULOS Y FUNCIONES Y TODO LIGADO A UN ID ÚNICO, 

ME PIDEN VARIOS REPORTES QUE PUEDEN SER CLASIFICADOS DE DISTINTA MANERA, POR MUNICIPIO, POR PROGRAMA, POR EMPRESA Y TODO LO OBTENÍA CON TABLA DINÁMICA.

 

SIN EMBARGO ACTUALMENTE   ME SOLICITAN QUE DE MI BASE DE DATOS LLENE VARIAS HOJAS Y CADA HOJA CONTIENE LOS DATOS DE UN "PROGRAMA EN ESPECÍFICO" SON COMO 30 PROGRAMAS ENTONCES YA SABRÁN EL SUPLICIO POR EL MOMENTO LO ESTOY REALIZANDO CON LA FUNCIÓN BUSCARV Y VOY HOJA POR HOJA AGREGANDO LAS COLUMNAS DEL ARCHIVO CONCENTRADOR QUE ME PIDEN INSERTE.

 

ME PODRÍAN DECIR COMO REALIZAR LA MACRO PARA AUTOMATIZAR ESTE PROCESO SERÍA LO SIGUIENTE, TRATE DE REALIZAR UNA PERO NADA MAS NO ME SALIO

Sub macro_bn()

MsgBox "Abra el archivo de Sabana"

Workbooks.Open Filename:=Application.GetOpenFilename("Todos los archivos de Excel (*.xls;*.xlsx;*.xlsm), *.xls;*.xlsx;*.xlsm")

'ABRIA EL ARCHIVO CONCENTRADOR

Sabana = ActiveWorkbook.Name:

MsgBox "Abra el archivo de Avances Ejecutivos"

Workbooks.Open Filename:=Application.GetOpenFilename("Todos los archivos de Excel (*.xls;*.xlsx;*.xlsm), *.xls;*.xlsx;*.xlsm")

Avances = ActiveWorkbook.Name:

'AQUI ABRIA EL ARCHIVO QUE TIENE AGRUPADA LA INFO POR PROGRAMA

largo = Range("A1").CurrentRegion.Columns.Count

alto = Range("A1").CurrentRegion.Rows.Count

'DEFINÍA HASTA DONDE TENÍA DATOS MI ARCHIVO QUE ABRI PARA DESPUES ARRASTRAR LA FORMULA HASTA AHÍ 

 

For i = Range("A1") To largo

If Cells(1, i) = "No de obra" Then obra = i

´MI ID UNICO ERA EL NUMERO DE OBRA , ASI SE LLAMA LA COLUMNA ENTONCES CUANDO LOCALIZARA EL NOMBRE DE ESA COLUMNA TOMARA EL VALOR DE I EN COLUMNA PARA DESPUES UTILIZARLO EN EL BUSCARV

 

For j = 1 To ActiveWorkbook.Sheets.Count

   Sheets(j).Select

´CREO QUE RECORRIA TODAS LAS HOJAS

  ActiveCell.FormulaR1C1 = _

  "=VLOOKUP(RC[obra],[sabana_definitiva_actualizada.xlsx]completa!R104000C8:R104000C400,276,)"

ActiveCell.Select

  Selection.AutoFill Destination:=Range("largo +2:alto")

'INTENTE HACER LA FORMULA Y RECORRERLA PERO NO SALIO :(

     Exit For

      Next

      Next

 End Sub

 

ESPERO ME AYUDEN GRACIAS!!!

Etiquetas: 

pacomegia
Imagen de pacomegia
Offline
última acción: Hace 1 semana 2 días
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntosNivel 4 - 2000 puntosNivel 5 - 4000 puntosadministrador
alta: 27/12/2006 - 23:26
Puntos: 11175
Re: MACRO PARA ACTUALIZAR VARIAS HOJAS DESDE UN ARCHIVO MASTER

no dejes de utilizar tablas dinámicas.

¿qué versión de Excel utilizas?

Si tienes 2010 o posterior puedes utilizar segmentadores (slicers) con tus tablas dinámicas, para mostar sólo los datos de un único programa.

Se trataría entonces de ir cambiando el segmento para que las tablas dinámicas se actualicen y muestren sólo los datos correspondientes.

 

para cualquier versión de Excel, si pones el programa como filtro de informe de la tabla dinámica, puedes generar una página para cada elemento del filtro (si tienes 30 programas, esto te genera 30 páginas, cada una con su tabla dinámica, particularizada para cada programa)

esto lo tienes en 

Herramientas de tabla dinámica>opciones>Tabla dinámica>Opciones>Mostrar páginas de filtro de informes

mostrar páginas de filtro de informe de tabla dinámica 

igual es más fácil crear una macro que recorra el segmentador o que genere las páginas, o simplemente que actualice la tabla dinámica si tus programas siempre son los mismos.

 

------
Ya sé Excel, pero necesito más.

visitante (no verificado)
Imagen de visitante
Re: MACRO PARA ACTUALIZAR VARIAS HOJAS DESDE UN ARCHIVO MASTER

Te agradezco tu respuesta amigo!

visitante (no verificado)
Imagen de visitante
Una consulta como puedo hacer

[comentario movido a tema nuevo en el foro: http://www.necesitomas.com/macro-buscar-segmentadores]