Ver Mensaje Individual
  #5 (permalink)  
Antiguo 18/01/2011, 17:10
JoaoM
 
Fecha de Ingreso: agosto-2007
Mensajes: 1.945
Antigüedad: 16 años, 8 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
__________________
Las contraseñas son como la ropa interior: Nunca dejarlas donde la gente pueda verlas
http://i64.tinypic.com/rho40i.jpg

Última edición por JoaoM; 18/01/2011 a las 17:36