Validación de Datos en Excel

Para todos. Estoy tratando de que la información de una celda en excel no sea nula o vacía. Utilizo la siguiente Macro:

Private Sub Worksheet_Change(ByVal Target As Range)
   If IsEmpty(Range("$F$9")) Then
       MsgBox "Por favor rellene la casilla!", vbCritical, "Error de ingreso"
       Range("$F$9").Select
     end If
End Sub

Esta rutina funciona cuando se edita la celda, no se escribe nada y se presione enter. Hasta ahí funciona bien para mi propósito. Pero adicionalmente quiero que haga lo mismo si me estaciono encima de la celda y presiono enter. Seria otro evento diferente.

Respuesta
1

Supongo que lo que quieres es que no se salgan de la celda F9 si está vacía.

Te anexo los 2 eventos. Copia todo el siguiente código, incluyendo las declaraciones en los eventos de tu hoja:

Public celdaant, dechange
'
Private Sub Worksheet_Change(ByVal Target As Range)
'Por. Dante Amor
    If Not Intersect(Target, Range("F9")) Is Nothing Then
        If Target.Count > 1 Then Exit Sub
        If IsEmpty(Range("$F$9")) Then
            MsgBox "Por favor rellene la casilla!", vbCritical, "Error de ingreso"
            Application.EnableEvents = False
            Range("$F$9").Select
            dechange = True
            Application.EnableEvents = True
        End If
    End If
End Sub
'
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'Por. Dante Amor
    If dechange Then
        dechange = False
        Exit Sub
    End If
    If Not Intersect(Target, Range("F9")) Is Nothing Then
        If Target.Count > 1 Then Exit Sub
        celdaant = True
    Else
        If celdaant Then
            If IsEmpty(Range("$F$9")) Then
                MsgBox "Rellene la casilla!", vbCritical, "Error de ingreso"
                Application.EnableEvents = False
                Range("$F$9").Select
                Application.EnableEvents = True
            End If
        End If
    End If
End Sub

.

'S aludos. Dante Amor. Recuerda valorar la respuesta. G racias

.

Avísame cualquier duda

.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas