Macro excel
Hola buenos días mi nombre es María Angélica.
Te cuento que necesito realizar una macro en excel que tome el valor de una celda en la hoja 1 y lo vaya copiando en la hoja siguiente con el día y hora en que tomo el registro. El valor de esta celda se va actualizando cada 30 minutos. Yo realice la macro pero quiero saber como se puede autoejecutar cada vez que se vaya actualizando la celda. Mira este es mi código, yo recién estoy aprendiendo macros de manuales y la web, entonces puede ser que mi código no este bien...
Ojala me puedas ayudar muchas gracias.
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Column = 1 And Target.Row = 1 Then
Call ingreso
End If
End Sub
Sub ingreso()
Worksheets("Hoja1").Activate
ActiveSheet.Range("A1").Activate
Selection.Copy
Worksheets("Hoja2").Activate
ActiveSheet.Range("A1").Activate
Do While Not IsEmpty(ActiveCell)
ActiveCell.Offset(1, 0).Activate
Loop
ActiveSheet.Paste
Application.CutCopyMode = False
ActiveCell.Offset(0, 1).Activate
ActiveCell.Value = Date
ActiveCell.Offset(0, 1).Activate
ActiveCell.Value = Time
End Sub
Te cuento que necesito realizar una macro en excel que tome el valor de una celda en la hoja 1 y lo vaya copiando en la hoja siguiente con el día y hora en que tomo el registro. El valor de esta celda se va actualizando cada 30 minutos. Yo realice la macro pero quiero saber como se puede autoejecutar cada vez que se vaya actualizando la celda. Mira este es mi código, yo recién estoy aprendiendo macros de manuales y la web, entonces puede ser que mi código no este bien...
Ojala me puedas ayudar muchas gracias.
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Column = 1 And Target.Row = 1 Then
Call ingreso
End If
End Sub
Sub ingreso()
Worksheets("Hoja1").Activate
ActiveSheet.Range("A1").Activate
Selection.Copy
Worksheets("Hoja2").Activate
ActiveSheet.Range("A1").Activate
Do While Not IsEmpty(ActiveCell)
ActiveCell.Offset(1, 0).Activate
Loop
ActiveSheet.Paste
Application.CutCopyMode = False
ActiveCell.Offset(0, 1).Activate
ActiveCell.Value = Date
ActiveCell.Offset(0, 1).Activate
ActiveCell.Value = Time
End Sub
1 Respuesta
Respuesta de andriu25
1