Jump to content

Indicar las veces que se ha editado una celda


shadowjuan

Recommended Posts

Posted

Hola,

Adjunto un archivo con una pequeña macro que indica las veces que se ha editado el texto de la celda que indica la macro (A2 en el archivo). Se requiere una celda de control, para contrastar los cambios realizados. No cuenta los cambios que dejan el texto igual.

Un saludo.

veces_editada_celda.xls

Posted

Hola:

¡¡ Muy buen aporte !!

Aquí dejo otra forma de hacer lo mismo:

Private Sub Worksheet_Change(ByVal Target As Range)

'[B]Target [/B]contiene el rango de las celdas cambiadas
'Como ya estamos dentro de la [B]Hoja1[/B], no es necesario especificarla con el objeto [B]Range[/B]
'Preguntando en negativo nos ahorramos la sentencia [B]Else[/B]
'La sentencia [B]Exit Sub[/B] termina el procedimiento con lo que nos ahorramos la sentencia [B]GoTo [/B]y la etiqueta [B]fin[/B]:

If Target.Address(0, 0) = "A2" Then
If Not Target.Value = Range("B2").Value Then
Range("B2").Value = Target.Value
Range("C2").Value = Range("C2").Value + 1
End If
End If

End Sub
[/CODE]

Siempre es agradable comprobar que se añaden nuevos miembros a este apartado de [b]Aportes e Ideas[/b]

Saludos

Posted

Más corto como dice Macro Antonio, pero de Targets no tengo mucha idea a la hora de escribir, y lo más corto que se me ocurría era como lo hice yo.

De hecho, invirtiendo las dos líneas tras el Else, me hacía un extraño, en vez de sumar uno, sumaba 94 (¿?) y a veces según cómo lo pusiera me sumaba infinitamente hasta que le diera a ESC. Incluso me ha dado un par de errores de "pila" (ni idea tampoco).

Un placer aportar mi granito de arena ;)

Posted

Hola! Amigos. Me parece que la celda B1 no es necesaria.

Veamos una de las formas de mostrar por qué no lo es:

Private Sub Worksheet_Change(ByVal Target As Range)
Static oldText
If Target.Address <> "$A$2" Then Exit Sub
If oldText <> Target Then [c2] = 1 + [c2]: oldText = Target
End Sub[/PHP]

Ciertamente que los [b]Application.EnableEvents[/b] "brillan" por su ausencia... pero dejémoslo para otra oportunidad/consulta.

Saludos para ambos.

Cacho R

Posted

Hola a todos!

Tienes razon Antoni (Macro Antonio) que alegria saber que se han sumado mas ultimamente!

Muy interesante este tema/aportes

Abrazos shadowjuan/macro/cacho

Saludos

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

Privacy Policy