macro copiar datos de hoja a un libro

Iniciado por tony82, 20 Marzo 2009, 16:39 PM

0 Miembros y 1 Visitante están viendo este tema.

tony82

Buenas dias
otra vez yo molestando,si por favor me pueden ayudar
esta vez estoy realizando una macro que me copie los datos de una hoja que tengo oculta y los pegue en un libro nuevo. pero no tengo ni idea de como hacerlo.

tony 82

Novlucker

Buenas
Lo que no me queda claro es si necesitas copiar el contenido o la hoja completa?, así que te doy tips  :P
Agregar un libro nuevo
Código (vb) [Seleccionar]
workbooks.add
Guardar un libro (saveas acepta otros parámetros)
Código (vb) [Seleccionar]
'workbooks(index).SaveAs(nombre_ruta)
workbooks(2).saveas("C:\Archivo.xls")

Copiar contenido de una hoja
Código (vb) [Seleccionar]
'Seleccionas rango
Selection.copy
'Seleccionas destino
ActiveSheet.Paste

Copiar hoja completa
Código (vb) [Seleccionar]
Sheets(hoja).Copy After:=Workbooks(nombre_otro_libro).Sheets(index)
'Se selecciona y copia la hoja, en otro libro luego de ...

Espero te sirva y sino preguntas  ;)

Saludos

Nota: Cuando creas un libro nuevo y pegas contenido del actual en ese, las macros se desplazan, prueba para entender mejor
Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD

"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein

tony82

Buenos dias,
Novlucker si lo que necesito es copiar la hoja completa a un libro nuevo.
use tu instruccion
Sheets("ORDENES").Copy After:=Workbooks("Libro2").Sheets("Hoja1")
pero esta necesita que el libro nuevo este abierto, y ademas que sea el libro numero 2 en este caso, ya que lo use con Workbooks(index) y me arroja error.
hay forma que antes de la instrucion se agrege un libro nuevo y en el archivo actual copie toda una hoja y la pegue en ese libro nuevo.

woorkbooks.add
Sheets("ORDENES").Copy After:=Workbooks("Libro2").Sheets("Hoja1")

esta instrucion abre un libro nuevo pero cada vez el libro va aumentando su numeracion, entoces sale error de subindice fuera del intervalo. o sea que no encuentra el libro2 abierto.

Muchas gracias
Tony82

Novlucker

Es que justamente te di los codes para que los juntaras, y lo que dice index es el comentario de como sería usarlo, index no funciona pero puedes usar workbooks.count

Código (vb) [Seleccionar]
Workbooks.Add
Sheets(1).Copy Before:=Workbooks(Workbooks.Count).Sheets(1)


Con workbooks.Count sabes cuantos libros hay, y por ende utilizandolo como index te moverás al último (el que acabamos de crear)
También he cambiado el copy After a Before, así copias la hoja en la primera hoja del nuevo libro  :P

Saludos
Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD

"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein

tony82

Buenos dias,
Ok Novlucker, funciono correctamente muchas gracias.


tony82