insertar un bloque en otro bloque de manera automatica

27/06/2006 - 20:24 por Isaac | Informe spam
- Tengo un bloque en la hoja1 del archivo centrales.xls; el bloque esta
nombrado como "datos_cent"; este bloque puede ser de 2 filas, tres filas,
cuatro filas etc,: esto hace que cambie el rango, pero como lo llamo por el
nombre "datos_cent" no importa que crezca.

tengo otro bloque en la hoja2 del archivo matriz.xls; el bloque esta
nombrado como "datos_tot"; en este bloque intento insertar las filas que
corresponden al bloque "datos_cent".

me envian muchos archivos centrales.xls, que es lo que intento hacer, lo
abro y luego lo cierro, para obtener el bloque "datos_cent"

la rutina es abrir un archivo centrales.xls y el de matriz.xls, e insertar
el bloque "datos_cent" en "datos_tot", pero para evitar que se desajuste el
bloque "datos_tot", debo insertar tantas filas como la que tiene el bloque
"datos_cent", la idea es que una columna de este bloque tenga puros numeros
uno, y de esa manera sabria cuantas filas tiene.

- Ya tengo el dato de cuantas filas tiene el bloque "datos_cent", y
quiero que automaticamente se inserten ese numero de filas en "datos_tot"
(digamos que este bloque comprende a1:m50, entonces que se posicione en a2 e
inserte ese numero de filas), para que copie el bloque y lo pegue tal cual
en el espacio que se abrio.


No se si esta mas claro.

Saludos, Isaac
 

Leer las respuestas

#1 Héctor Miguel
28/06/2006 - 05:08 | Informe spam
hola, Isaac !

-> suponiendo que en el rango 'datos_cent' de la hoja1 de cada libro 'centrales.xls' NO contiene formulas/formatos/...
que pudieran llegar a 'entorpecer' un 'simple' copy/paste a la hoja1 del libro 'matriz.xls'
prueba la siguiente macro en algun modulo de codigo 'normal' del libro 'matriz.xls' que tendrias que 'ejecutarla'...
-> teniendo [cada libro] 'centrales.xls' como libro 'activo' [de pasadita, le deje la instruccion del 'ordenar' 'datos_tot'] ;)

Sub Inserta_x_filas()
ActiveWorkbook.Worksheets("hoja1").Range("datos_cent").EntireRow.Copy
With ThisWorkbook.Worksheets("hoja1").Range("a2")
.Insert xlDown
.Sort Key1:=.Cells(1), Order1:=xlAscending, Header:=xlYes
End With
End Sub

si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.

__ la consulta original __
... en la hoja1... centrales.xls... bloque... nombrado como "datos_cent"... puede ser de 2 filas, tres filas... etc.
... como lo llamo por el nombre "datos_cent" no importa que crezca.
... en la hoja2... matriz.xls... bloque... nombrado como "datos_tot"... intento insertar las filas... bloque "datos_cent".
... me envian muchos archivos centrales.xls... la rutina es abrir... centrales.xls y el de matriz.xls, e insertar... "datos_cent" en "datos_tot"
... para evitar que se desajuste el bloque "datos_tot", debo insertar tantas filas como la que tiene el bloque "datos_cent"
... la idea es que una columna de este bloque tenga puros numeros uno, y de esa manera sabria cuantas filas tiene.
... tengo el dato de cuantas filas tiene el bloque "datos_cent", y quiero que automaticamente se inserten... en "datos_tot"
... digamos que... comprende a1:m50... que se posicione en a2 e inserte ese numero de filas
... que copie el bloque y lo pegue tal cual en el espacio que se abrio.

Preguntas similares