OsmaniPititi publicó en la clase Copiar Datos de las Hojas Existentes hace 1 día
Buenas tardes Sergio
En el caso del ejemplo , seria bueno agregar dos lineas de codigo despues de las que se copia el encabezado para ajustar el ancho de las columnas al texto del encabezado de la tabla. Pudiera ser las siguientes
Sheets(2).Range("A1:G1").Copy Sheets(1).Range("A1")
Columns("A:G").Select
Columns("A:G").EntireColumn.AutoFit
Sheets(1).Range("A2").Select
Ademas , tengo una duda.
Si Hubieramos usado un bucle For each en vez de un For Next, no hubiera sido necesario activar las hojas para poder copiar las tablas ?
En el caso del ejemplo , seria bueno agregar dos lineas de codigo despues de las que se copia el encabezado para ajustar el ancho de las columnas al texto del encabezado de la tabla. Pudiera ser las siguientes
Sheets(2).Range("A1:G1").Copy Sheets(1).Range("A1")
Columns("A:G").Select
Columns("A:G").EntireColumn.AutoFit
Sheets(1).Range("A2").Select
Ademas , tengo una duda.
Si Hubieramos usado un bucle For each en vez de un For Next, no hubiera sido necesario activar las hojas para poder copiar las tablas ?
Respuestas
JuliaBravo490 respondió hace hace 14 horas:
Hola, Osmani.
Gracias por el comentario y la sugerencia del ajuste de columnas.
Gracias por el comentario y la sugerencia del ajuste de columnas.
Sobre tu duda: en esta macro se usa Activate porque el código trabaja con Select/Selection/ActiveSheet, y esos objetos siempre se refieren a lo que esté activo en ese momento. Por eso, si no activas la hoja correcta, Excel podría copiar/pegar desde otra hoja o tomar otro rango.
Pero ojo: no depende de si el bucle es For Next o For Each. Aunque uses For Each, si sigues usando Selection, igual vas a depender de activar. For Each solo hace más cómodo y legible recorrer las hojas
Espero que esto aclare tu duda.
Saludos,
Equipo Deztaca
Espero que esto aclare tu duda.
Saludos,
Equipo Deztaca
