Al hacer doble click en dos o tres celdas seguidas, celda activa salta de celda.
Espero que me puedan ayudar por favor. No encontré nada parecido.
Sucede que tengo una macro en la hoja activa, que al cambiar el valor en la celda D16 se activa, pero estoy teniendo el problema de que al hacer doble click (como cuando quieres escribir en la celda) dos o tres veces seguidas en distintas celdas, la celda activa "salta" y me selecciona la celda D16.
Probé desactivando la Macro y me pasa igual (pero no de forma tan recurrente como cuando está activa la macro) pero se salta a otras celdas.
¿Saben si puede ser problema de la macro? ¿Hay alguna otra cosa que pueda revisar?
Les adjunto la macro, espero que me puedan ayudar.
Private Sub Worksheet_Change(ByVal Target As Range)
Application.ScreenUpdating = False
If Target.Address = "$D$16" Then
Application.ScreenUpdating = False
If [D16] = "Diagnóstico" Then
'Celdas con relleno
Range("B50:B53,B56:B60").Select
ActiveCell.Interior.ColorIndex = 2 'color blanco
Range("B50:B50").Select
ActiveCell.Interior.ColorIndex = 4 'color verde
Range("B56:B56").Select
ActiveCell.Interior.ColorIndex = 48 'color gris
ElseIf [D16] = "Seguimiento 1" Or [D16] = "Seguimiento 2" Then
Application.ScreenUpdating = False
'Celdas con relleno
Range("B50:B53,B56:B60").Select
ActiveCell.Interior.ColorIndex = 2 'color blanco
Range("B50:B50").Select
ActiveCell.Interior.ColorIndex = 48 'color gris
Range("B56:B56").Select
ActiveCell.Interior.ColorIndex = 4 'color verde
ElseIf [D16] <> "Seguimiento 1" Or [D16] <> "Seguimiento 2" Or [D16] <> "Diagnóstico" Then
Application.ScreenUpdating = False
'Celdas con relleno
[B50].Select
ActiveCell.Interior.ColorIndex = 2 'color blanco
[B56].Select
ActiveCell.Interior.ColorIndex = 2 'color blanco
End If
End If
[D16].Select
Application.ScreenUpdating = True
' bloquea el ingreso de datos en la sección de seguimiento
Set r = Range("D59:D60")
If Not Intersect(Target, r) Is Nothing Then
If Target.Count > 100 Then Exit Sub
For Each C In Target
If Not Intersect(C, r) Is Nothing Then
If C.Value <> "" Then
If Range("D16") = "Diagnóstico" Then
MsgBox "Campo válido solo para evaluaciones de seguimiento, Ud está realizando una evaluación de Diagnóstico"
Application.EnableEvents = False
C.Value = ""
Application.EnableEvents = True
End If
End If
End If
Next
End If
' bloquea el ingreso de datos en la sección de seguimiento
Set r = Range("D50:D53")
If Not Intersect(Target, r) Is Nothing Then
If Target.Count > 100 Then Exit Sub
For Each C In Target
If Not Intersect(C, r) Is Nothing Then
If C.Value <> "" Then
If Range("D16") = "Seguimiento 1" Or Range("D16") = "Seguimiento 2" Then
MsgBox "Campo válido solo para evaluación de Diagnóstico, Ud está realizando una evaluación de Seguimiento"
Application.EnableEvents = False
C.Value = ""
Application.EnableEvents = True
End If
End If
End If
Next
End If
End Sub