Ayuda con una macro... Urgente..
<span style="font-family: Arial; font-size: x-small;"><span style="font-family: Arial; font-size: x-small;">Hola a todos, quizas puedan ayudarme en lo siguiente;
Con ayuda de algunos foros he logrado hacer un código en el VBA de
excel el cual adquiere datos en la celda A1 y los envía a una celda
libre en la misma columna, cada vez que se hace esto muestra la fecha y
la hora de dicho proceso. El problema es que es necesario introducir el
dato en A1 y presionar enter para que la macro haga su trabajo. Lo que
necesito es que el dato de A1 sea enviado a una celda libre cuando
cambie, sin necesidad de darle enter, ni click, ni nada por el estilo.
Simplemente que funcione cuando dicha celda sea modificada externamente
o por otro programa. Adjunto el codigo; espero me puedas ayudar...
Muchas Gracias.
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 Then 'columna A
Target.Offset(0, 1) = Date
Target.Offset(0, 2) = Time
End If
If Target.Address = "$A$1" Then
fila = 2
Do While Target.Offset(fila, 0).Value <> ""
fila = fila + 1
Loop
Target.Offset(fila, 0).Value = Target.Value
End If
End Sub
</span></span>
Con ayuda de algunos foros he logrado hacer un código en el VBA de
excel el cual adquiere datos en la celda A1 y los envía a una celda
libre en la misma columna, cada vez que se hace esto muestra la fecha y
la hora de dicho proceso. El problema es que es necesario introducir el
dato en A1 y presionar enter para que la macro haga su trabajo. Lo que
necesito es que el dato de A1 sea enviado a una celda libre cuando
cambie, sin necesidad de darle enter, ni click, ni nada por el estilo.
Simplemente que funcione cuando dicha celda sea modificada externamente
o por otro programa. Adjunto el codigo; espero me puedas ayudar...
Muchas Gracias.
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 Then 'columna A
Target.Offset(0, 1) = Date
Target.Offset(0, 2) = Time
End If
If Target.Address = "$A$1" Then
fila = 2
Do While Target.Offset(fila, 0).Value <> ""
fila = fila + 1
Loop
Target.Offset(fila, 0).Value = Target.Value
End If
End Sub
</span></span>
1 respuesta
Respuesta de smartito
1