![Antiguo](http://static.forosdelweb.com/fdwtheme/images/statusicon/post_old.gif)
18/01/2011, 17:10
|
| | Fecha de Ingreso: agosto-2007
Mensajes: 1.945
Antigüedad: 17 años, 5 meses Puntos: 39 | |
Respuesta: Macro para copiar un rango de celdas en excel y pasar a hoja 2 Sub copiarypegar()
'Seleccionamos todo el área contínua de datos, desde la celda donde estamos situados
Range("a3:i15").Select 'seleciona el rango especifico
ActiveCell.CurrentRegion.Select
'Copiamos
Selection.Copy
'Pegamos en A2 de la hoja 7
Sheets("NCC").Select
Range("A2").Select 'el control se hará sobre la columna A, a partir de la fila
While ActiveCell.Value <> "" 'Busca la ultima fila
ActiveCell.Offset(1, 0).Select 'si la celda contiene datos, pasa a la fila siguiente
Wend
ActiveSheet.Paste
Application.CutCopyMode = False
Range("A2").Select
End Sub
Existe esta opcion. Para que si alguien te cambia el nombre a las hojas o posicion de ellas, coloca esto en ThisWorkbook
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
'Esto se ejecutará justo unos instantes antes de guardar el fichero
If Hoja1.Name <> "¿?" Then Hoja1.Name = "¿?"
If Hoja2.Name <> "NCC" Then Hoja2.Name = "NCC"
If Hoja3.Name <> "¿?" Then Hoja3.Name = "¿?"
'ect ect
End Sub
En lo rojo colocas el nombre de tus hojas.
Esto por si alguien cambia el nombre de hojas, al cerrarse el libro todo vuelve como antes.
Si sucede el cambio, el codigo referente a la hoja, no funciona.
Para evitar eso, lo mejor es en el editor de VBA, a la izquierda selecionas la hoja, abajo le das el nombre tuyo para definitivo
Última edición por JoaoM; 18/01/2011 a las 17:36 |