Registrar en Microsoft Excel las modificaciones en las hojas de un libro.

Hola J.Carlos.
Necesito crear una especie de registro por cada uno de las modificaciones que se produzcan en las hojas 1,2,3 y 4 de un Libro.
Un registro por cada modificación, con el siguiente formato.
A1.- 19/01/09 - 16:22:55
A2.- 19/01/09 - 16:22:60
A3.- 19/01/09 - 16:22:65
A4.- 19/01/09 - 16:22:82
...
...
Y que al acabar las celdas de la columna "A" continuara con la columna "B" y así sucesivamente.
Este registro, a ser posible, me gustaría que se hiciera en una hoja llamada "Registros".
¿Es posible?
Con las gracias anticipadas, recibe un afectuoso saludo.
Jose.

1 respuesta

Respuesta
1
El problema con dicho registro es que te recargaría el libro de un montón de modificaciones. No sé con qué fin quieres hacer esto pero me parece que sería mejor una macro que te ponga comentarios en las celdas modificadas. Por ejemplo, si en A1 tengo 100 y después dígito 300, que ese cambio se me guarde en un comentario el cual con solo poner el mouse en la celda se despliegue y pueda darme cuanta de las modificaciones que han hecho.
[email protected]
Hola J.Carlos.
Me parece una buena idea lo de la macro siempre y cuando en ese comentario que dices me figure el día y la hora. Gracias.
Por supuesto que figura la fecha y hora.
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Dim cell As Range
Dim OldText As String, NewText As String
If CheckBox1 Then
For Each cell In Target
With cell
On Error Resume Next
OldText = .Comment.Text
If Err <> 0 Then .AddComment
NewText = OldText & "Cambiado a " & cell.Text & _
" por " & Application.UserName & " el " & Now & vbLf
.Comment.Text NewText
.Comment.Visible = True
.Comment.Shape.Select
Selection.AutoSize = True
.Comment.Visible = False
End With
Next cell
End If
End Sub
Private Function HasComment(r) As Boolean
Dim x As String
HasComment = False
On Error Resume Next
x = r.Comment.Text
If Err = 0 Then HasComment = True
End Function
Cualquier duda me avisas.
[email protected]
Hola J.Carlos.
He copiado el código que me enviaste y no consigo ver el comentario que dices se genera al cambiar algún dato. ¿Serias tan amable de indicarme como puedo visualizarlo? Gracias.
Me imagino que no lo pusiste en el evento correcto. Como puedes ver tienes que ponerlo en el evento de WorkSheet_Change. Cuando entras al editor de VBA, en la parte izquierda puedes ver los archivos y sus hojas, buscas la hoja en la cual te interesa dejar registro y le das doble click. En la pantalla que sale, en la parte derecha de los combobox de selección, buscas el evento Change y lo pegas ahí.
[email protected]

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas