Macro

Tengo grabada una macro para copiar el contenido de una celdas en otras como puedo hacer para que me copie cualquier celda independientemente de donde este pulsado el cursor
--------
Range("B2").Select
Selection.Copy
Range("B3").Select
ActiveSheet.Paste
Range("E2").Select
Application.CutCopyMode = False
Selection.Copy
Range("E3").Select
ActiveSheet. Paste

1 respuesta

Respuesta
1
No me resulta muy clara la consulta. Veamos:
Si necesitas que te ejecute estas instrucciones, no importa que celda esté seleccionada el momento de la ejecución debés insertar un módulo y colocar estas instrucciones entre:
Sub copiaCeldas()
'aquí vienen las instrucciones
End Sub
Luego desde la hoja, menú Herramientas, Macros, seleccionala y con el botón Opciones podes asignarle un atajo de teclado (o asignarla a un botón)
Si por el contrario querés que se ejecute para cualquier celda, en ese caso será para la que se encuentre seleccionada en ese momento, deberás reemplazar la instrucción:
Range(...) por ActiveCell.
Y te movés desde la celda activa con Offset(fila, col)
Ej: ActiveCell.Offset(1,0).select
Te selecciona la celda 1 fila más abajo, de la misma columna.
Si esto resuelve tu consulta, no olvides finalizarla.
Perdona no te entiendo muy bien
Como defino la instrucción
Por ejemplo el cursor esta situado el la fila 2 y necesito que me copie el contenido de la columna 2 y 4 en la fila 3, y después necesito me copie el contenido de la fila 8 o la que necesite el la fila 9 o el contenido de la fila POR el la fila X+1
...
'Range("B2").Select se reemplaza por:
Activecell.select
Selection.Copy
'Range("B3").Select se reemplaza por la siguiente
activecell.offset(1,0).select
ActiveSheet.Paste
'Range("E2").Select se reemplaza por la siguiente
activecell.offset(0,2).select
'Application.CutCopyMode = False
Selection.Copy
'Range("E3").Select se reemplaza por la siguiente:
activecell.offset(1,2).select
ActiveSheet. Paste
Como verás con Offset te estás moviendo 1 hacia abajo o 2 col a la derecha ...
Siempre con respecto a la celda activa al llamarse la macro.
Esto te servirá para cualquier celda que selecciones.
Dónde colocar estas instrucciones ya está explicado en la anterior.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas