Borrar números con doble click de una columna.

Tengo una macro que asigna valores en el rango i28:i43 al hacer dobleclick. Si doy dobleclick en i31 asigna el valor "1" luego si doy dobleclick en i39 asigna el valor "2".

Va sumando en valores crecientes tras hacer doble click en cualquier celda del rango. Lo que me gustaría es que si por ejemplo en i33 tiene asignado el valor 3 o cualquier otro valor al hacer doble click borre dicho numero.

Va la macro

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim nMax As Byte
Let nMax = Application.WorksheetFunction.Max(Range("i28:i43"))
If Application.Intersect(Target, [i28:i43]) Is Nothing Then Exit Sub
If Application.WorksheetFunction.CountA(Range("i28:i43")) = 0 Then Target.Value = 1: Exit Sub
If Target <> "" Then MsgBox "Celda llena": Exit Sub
If nMax = 16 Then MsgBox "al máximo": Exit Sub
Let Target.Value = nMax + 1
End Sub
Respuesta
1

Intenta reemplazando esta línea

If Target <> "" Then MsgBox "Celda llena": Exit Sub

Por esta otra

If Target <> "" Then Target.ClearContents: Exit Sub

Y dime si es lo que buscabas.

S@lu2

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas