Macro para copiar celdas

Buen dia!

Alguien me puede apoyar con una macro que me copie datos de la fila 132 primero a 133 luego media hora después a 134 y asi sucesivamente hasta 183, ojala me puedan ayudar

Saludos

1 respuesta

Respuesta
1

No sé si te servirá este código:

Sub copiarCadaMediaHora()
Dim i As Integer
Dim sh As Worksheet
Dim celda As Range
Set sh = ActiveSheet
' Copiamos la linea 132 en la 133 hasta la 182
For i = 133 To 182
Set celda = ActiveCell
sh.Rows(132).Copy
sh.Activate
sh.Rows(i).Select
ActiveSheet.Paste
Application.CutCopyMode = False
celda.Activate
celda.Select
esperaMediaHora
Next i
End Sub
Private Sub esperaMediaHora()
Dim timer1 As Double
Dim timer2 As Double
Dim mediaHora As Double
mediaHora = 30 * 60 ' 30 minutos por 60 segundos
timer1 = Timer
Do
DoEvents
timer2 = Timer
If timer2 < timer1 Then
' Hemos cambiado de día
timer2 = timer2 + 24# * 60# * 60#
End If
Loop Until timer2 > (timer1 + mediaHora)
End Sub

Que tal Santiago

Disculpa no me funciono corre la macro pero no me copia la información a la siguiente celda!

Tengo el archivo si gustas puedo mandártelo es para copiar unos datos provenientes de un plc

La macro debería copiar la 132 a la 133, la 132 a la 134, etc... Si quieres que copie la n-1 a la n, cambia la línea:

Sh. Rows(132). Copy

Por

Sh.Rows(i-1). Copy

Si no te funciona, sube el fichero a un disco virtual (dropbox u otro) y me pones el enlace.

Voy a revisarlo y te aviso m

muchas gracias

Oye santiago tengo que decirte que funciono de maravilla!

Muchas gracias por tu tiempo prestado.

Si pudieras ayudarme con una ultima cosa que al ser las 7:00 a.m. se regrese a copiar igual de la 132 hacia abajo y asi cada dia.

Pero este programa funciono genial

Calificación Exelente

Saludos

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas