Contenido
IsEmpty es una función integrada en VBA (Visual Basic for Applications), que se utiliza para determinar si una variable no ha sido inicializada o está explícitamente vacía. Devuelve True si la variable está vacía; de lo contrario, devuelve False.
Sintaxis básica
IsEmpty(expression)
- expression: La expresión (generalmente una variable) que deseas verificar.
Ejemplo 1
Sub CheckIfEmpty()
Dim myVar As Variant
' No se ha asignado un valor a myVar, por lo que IsEmpty debe devolver True
If IsEmpty(myVar) Then
MsgBox "La variable está vacía."
Else
MsgBox "La variable NO está vacía."
End If
End Sub
Ejemplo 2
Sub CheckIfCellIsEmpty()
Dim cellValue As Variant
cellValue = Range("A1").Value
' Comprobar si la celda A1 está vacía
If IsEmpty(cellValue) Then
MsgBox "La celda A1 está vacía."
Else
MsgBox "La celda A1 NO está vacía."
End If
End Sub
Nota que IsEmpty solo devuelve True si la variable no ha sido inicializada. Si la variable se ha inicializado con un valor, aunque este valor sea un string vacío («») o un espacio en blanco (» «), IsEmpty devolverá False. Por ejemplo:
Ejemplo 3
Sub CheckIfEmptyString()
Dim myString As String
myString = "" ' Esto es un string vacío, no una variable realmente "Empty"
If IsEmpty(myString) Then
MsgBox "La variable está vacía."
Else
MsgBox "La variable NO está vacía. Es un string vacío."
End If
End Sub
En este último caso, la ejecución del código mostrará «La variable NO está vacía. Es un string vacío.», ya que aunque myString no contiene caracteres, está inicializada con un string vacío y por lo tanto no está «vacía» en el sentido que IsEmpty evalúa.
Para concluir, utiliza IsEmpty para evaluar variables no inicializadas, no para verificar si una string tiene longitud cero o si una celda de Excel parece estar vacía pero contiene en realidad una fórmula que devuelve un string vacío. En estos casos, podrías usar Len(myString) = 0 o Range(«A1»).Value = «» respectivamente.