............ Foro Excel
Si no lo has hecho aún: REGISTRATE!!!

Generar una tabla "maestra" conformada por los datos provenientes de otras tablas individuales

Ver el tema anterior Ver el tema siguiente Ir abajo

Generar una tabla "maestra" conformada por los datos provenientes de otras tablas individuales

Mensaje por lujan.agustin el Miér Mayo 20, 2015 10:54 pm

Hola a todos! Tengo una situación que no puedo resolver.

Tengo 4 tablas ubicadas en distintas hojas, todas ellas con los mismos nombres de campos (títulos de columnas) y que las manipulan distintas personas. Y quisiera, a partir de ellas, generar una tabla maestra que contenga todos los registros que en ellas se can cargando. Repito que todas las columnas tienen el mismo titulo!

Ejemplo:
Tabla 1
Nombre, Apellido, ventas, ingreso
jorge, caballero, 8, 8000

Tabla 2
Nombre, Apellido, ventas, ingreso
raul, donofrio, 5, 5500

Tabla 3
Nombre, Apellido, ventas, ingreso
Vera, Vega, 11, 7600

Tabla MAESTRA (la que tiene que incluir todo y para la que necesito ayuda)
Nombre, Apellido, ventas, ingreso
jorge, caballero, 8, 8000
raul, donofrio, 5, 5500
Vera, Vega, 11, 7600

Podran ayudarme a realizar esta tabla MAESTRA?

lujan.agustin

Masculino Cantidad de envíos : 1
Edad : 33
Ciudad - Pais : Argentina - Cordoba
Version de Excel : 2010
Fecha de inscripción : 20/05/2015

Volver arriba Ir abajo

Re: Generar una tabla "maestra" conformada por los datos provenientes de otras tablas individuales

Mensaje por moises melgar el Vie Mayo 22, 2015 1:21 am

subo un ejemplo sencillo
Recuerda que al usar macros siempre hay que tener un guardado del libro antes de probar codigos

Código:
Sub traspaso()
dt1 = Application.WorksheetFunction.Max(2, Hoja1.Range("A" & Rows.Count).End(xlUp).Row)
dt2 = Application.WorksheetFunction.Max(2, Hoja1.Range("A" & Rows.Count).End(xlUp).Row)
dt3 = Application.WorksheetFunction.Max(2, Hoja1.Range("A" & Rows.Count).End(xlUp).Row)

Hoja4.Range("A2:D" & Application.WorksheetFunction.Max(2, Hoja4.Range("A" & Rows.Count).End(xlUp).Row)).Clear

Hoja1.Range("A2:D" & dt1).Copy Destination:=Hoja4.Range("A" & Rows.Count).End(xlUp).Offset(1, 0)
Hoja2.Range("A2:D" & dt2).Copy Destination:=Hoja4.Range("A" & Rows.Count).End(xlUp).Offset(1, 0)
Hoja3.Range("A2:D" & dt3).Copy Destination:=Hoja4.Range("A" & Rows.Count).End(xlUp).Offset(1, 0)

End Sub

Aqui se aprecian varios codigos basicos:

Hoja1.Range("A" & Rows.Count).End(xlUp).Row = equivale a hacer (desde la ultima fila de la columna "A" Ctrl + arriba ) y con .row me ayuda a conocer que fila es esa, util para saber en que fila esta el ultimo dato de una columna

Uso la funcion Max para evitar que si por alguna razon no hay datos (solo encabezados fila 1) el valor obtenido sea 2 o mayor

Hoja4.Range("A2:D" & Application.WorksheetFunction.Max(2, Hoja4.Range("A" & Rows.Count).End(xlUp).Row)).Clear ayuda a limpiar los datos existentes en la hoja 4

Offset(1, 0) = se usa para "simular" el movimiento de tecla direccionales Offset(fila, columna) en mi caso como el valor de "1" esta en la parte de fila y al ser positivo se mueve una celda hacia abajo.

son rapidas explicaciones pero utiles para los que se quieren iniciar en macros

saludos



moises melgar
Jr_Moderator

Masculino Cantidad de envíos : 512
Edad : 28
Ciudad - Pais : Coatzacoalcos - Mexico
Version de Excel : 2007 - 2010
Fecha de inscripción : 25/05/2010

Volver arriba Ir abajo

Ver el tema anterior Ver el tema siguiente Volver arriba


 
Permisos de este foro:
No puedes responder a temas en este foro.