Como crear macro repetitiva que sirva para diferentes filas

05/09/2003 - 13:07 por Paco² | Informe spam
Tengo que hacer un trabajo tedioso y repetitivo de ir cortando y pegando
ciertas celdas. Esto se va a repetir cientos de veces y habia pensado en
hacer una macro para llamarla desde la celda que quiero cortar.
He creado la macro, pero el problema se presenta cuando la llamo ya que hace
referencia a celdas absolutas y no sobre la fila a la que quiero aplicarla.
A continuacion os dejo la macro, a ver si me podeis decir como puedo
modificarla para hacer rapidamente este trabajo repetitivo de cortar y pegar
celdas.0


Sub Macro1()
'
' Macro1 Macro
' Macro grabada el 05/09/2003 por pcuadrado
'
' Acceso directo: CTRL+t
'
Range("A28:E28").Select
Selection.Cut
Range("D27").Select
ActiveSheet.Paste
Range("A32").Select
End Sub
 

Leer las respuestas

#1 Fernando Arroyo
05/09/2003 - 13:33 | Informe spam
Puedes usar la propiedad Offset de una celda o rango para establecer referencias relativas desde ella, por ejemplo, 10 filas hacia arriba, 2 columnas a la derecha, etc. Pero si no nos especificas el desplazamiento desde la celda donde estás cuando llamas a la macro, poco más podemos decirte.
Aparte de esto, el código que pones se puede optimizar (supongo que te lo habrá generado el grabador de macros ¿?):

ActiveSheet.Range("A28:E28").Copy Destination:=ActiveSheet.Range("D27")
ActiveSheet.Range("A32").Select

Un saludo.


Fernando Arroyo
MS MVP - Excel

"Paco²" escribió en el mensaje news:
Tengo que hacer un trabajo tedioso y repetitivo de ir cortando y pegando
ciertas celdas. Esto se va a repetir cientos de veces y habia pensado en
hacer una macro para llamarla desde la celda que quiero cortar.
He creado la macro, pero el problema se presenta cuando la llamo ya que hace
referencia a celdas absolutas y no sobre la fila a la que quiero aplicarla.
A continuacion os dejo la macro, a ver si me podeis decir como puedo
modificarla para hacer rapidamente este trabajo repetitivo de cortar y pegar
celdas.0


Sub Macro1()
'
' Macro1 Macro
' Macro grabada el 05/09/2003 por pcuadrado
'
' Acceso directo: CTRL+t
'
Range("A28:E28").Select
Selection.Cut
Range("D27").Select
ActiveSheet.Paste
Range("A32").Select
End Sub


Preguntas similares