Diferentes formas de verificar si una celda está vacía en Microsoft Excel VBA
- Formas de comprobar si una celda está vacía
-
Método 1: la función
IsEmpty
-
Método 2: Comparar con
vbNullString
- Método 3: comparar con una cadena vacía
-
Método 4: La función
Len
-
Método 5: Las funciones
Count
yCounta
-
Método 6: la función
IsNull
- Conclusión
VBA es un lenguaje de programación para aplicaciones de Microsoft Excel que brinda a los usuarios varias funciones y características. En este artículo, aprenderemos cómo verificar si una celda está vacía.
Formas de comprobar si una celda está vacía
En MS Excel, una celda es un bloque identificado como la intersección de una fila y una columna, que tiene el número de fila y la letra de la columna como identificador. Estas celdas pueden contener varios tipos de datos.
Sin embargo, también podemos tener una celda vacía, que se refiere a una que no contiene datos.
En MS Excel, puede haber muchas situaciones en las que tenemos que verificar si la celda contiene datos o no. Para ayudarnos a hacer esto, MS Excel VBA proporciona múltiples métodos para verificar si una celda está vacía.
Estos métodos se explican en detalle a continuación, junto con ejemplos de código VBA para ayudarlo a comprenderlos mejor.
Método 1: la función IsEmpty
La función IsEmpty
en Excel VBA es una función integrada que devuelve un valor booleano. Esta función también se puede usar junto con las celdas para verificar si una variable no está inicializada.
Tiene la siguiente sintaxis:
IsEmpty(value)
Aquí, valor
es la celda o variable que desea verificar.
Si la celda está vacía o la variable no está inicializada, esta función devuelve True
. En caso contrario, devuelve False
.
Nota: si desea verificar si un valor está en blanco en una celda de la hoja de trabajo, también puede usar la función de hoja de trabajo
IsBlank(value)
en la barra de fórmulas. Sin embargo, no puede utilizar la funciónIsBlank
en VBA como alternativa a la funciónIsEmpty
.
Usando el código a continuación, probemos la función IsEmpty
en algunas celdas simples. También usaremos las mismas dos celdas en los siguientes ejemplos.
Sub ExampleIsEmpty()
If IsEmpty(Range("A1")) = True Then
MsgBox "Cell A1 is empty"
Else
MsgBox "Cell A1 is not empty"
End If
If IsEmpty(Range("A2").Value) = True Then
MsgBox "Cell A2 is empty"
Else
MsgBox "Cell A2 is not empty"
End If
End Sub
Ejecutar este código dará el siguiente resultado en los cuadros de mensaje:
Fíjate cómo hemos usado tanto
IsEmpty(Range("A1"))
comoIsEmpty(Range("A2").Value)
. Ambos funcionarán bien.
Método 2: Comparar con vbNullString
Si queremos comprobar si una celda no contiene ningún valor, también podemos compararlo con vbNullString
. vbNullString
es una constante que contiene el valor Null
para cadenas.
Si la comparación muestra que el valor en la celda es igual a vbNullString
, podemos concluir que la celda está vacía.
El siguiente código demuestra cómo podemos usar la constante vbNullString
para buscar celdas vacías.
Sub ExamplevbNullString()
If Range("A1").Value = vbNullString Then
MsgBox "Cell A1 is empty"
Else
MsgBox "Cell A1 is not empty"
End If
If Range("A2").Value = vbNullString Then
MsgBox "Cell A2 is empty"
Else
MsgBox "Cell A2 is not empty"
End If
End Sub
Nuevamente, podemos ver que la salida muestra los siguientes cuadros de mensaje:
Nota: Este método no funcionará cuando la celda no tenga un valor pero contenga un error como
#N/A!
. Por lo tanto, es más seguro utilizar la funciónIsEmpty
.
Método 3: comparar con una cadena vacía
Un método similar es comparar el valor presente en la celda con una cadena vacía, que se define en el código como ""
. Si la comparación devuelve True
, la celda está vacía y, de lo contrario, no está vacía.
Aquí hay un ejemplo de lo que usa la comparación con ""
para determinar si la celda está vacía.
Sub ExampleEmptyString()
If Range("A1").Value = "" Then
MsgBox "Cell A1 is empty"
Else
MsgBox "Cell A1 is not empty"
End If
If Range("A2").Value = "" Then
MsgBox "Cell A2 is empty"
Else
MsgBox "Cell A2 is not empty"
End If
End Sub
La salida será la siguiente:
Método 4: La función Len
Para verificar si una celda está vacía, también podemos calcular la longitud de los datos allí y comparar si es igual a cero.
Si la longitud es igual a cero, podemos decir que la celda está vacía, lo que implica que no contiene datos. De lo contrario, decimos que la celda no está vacía.
Usamos la función Len
incorporada de VBA para calcular la longitud de los datos. Tiene la siguiente sintaxis:
Len(value)
Aquí, valor
es el valor de la celda que desea verificar.
Veamos un código de ejemplo que usa la función Len
para determinar si una celda está vacía.
Sub ExampleLen()
If Len(Range("A1").Value) = 0 Then
MsgBox "Cell A1 is empty"
Else
MsgBox "Cell A1 is not empty"
End If
If Len(Range("A2").Value) = 0 Then
MsgBox "Cell A2 is empty"
Else
MsgBox "Cell A2 is not empty"
End If
End Sub
Como era de esperar, obtenemos el siguiente resultado:
Método 5: Las funciones Count
y Counta
Las funciones Count
y Counta
son funciones de hoja de trabajo en VBA que devuelven el número de celdas no vacías en el rango dado. La diferencia entre ellos es que la función Count
solo cuenta valores numéricos, mientras que la función Counta
puede trabajar con cualquier dato.
Podemos utilizar estas funciones para verificar si una celda determinada está vacía. Si el recuento se devuelve como 0, la celda está vacía ya que la función cuenta solo las celdas que no están vacías.
Es mejor usar la función Counta
en lugar de la función Count
porque la función Count
considerará los datos de texto o de tipo cadena como en blanco.
El siguiente código demuestra el uso de la función Counta
para comprobar si hay celdas vacías.
Sub ExampleCounta()
If Application.WorksheetFunction.CountA(Range("A1")) = 0 Then
MsgBox "Cell A1 is empty"
Else
MsgBox "Cell A1 is not empty"
End If
If Application.WorksheetFunction.CountA(Range("A2")) = 0 Then
MsgBox "Cell A2 is empty"
Else
MsgBox "Cell A2 is not empty"
End If
End Sub
La salida es la esperada.
Método 6: la función IsNull
Otro método para verificar si una celda contiene un valor Nulo
es usar la función IsNull
. Esta también es una función integrada en VBA que devuelve un valor booleano: True
si el valor es igual a Nulo
y False
en caso contrario.
Si esta función devuelve True
para el valor de una celda, podemos concluir que la celda está vacía.
La sintaxis de la función IsNull
es la siguiente:
IsNull(value)
Aquí, valor
es el valor de la celda que desea verificar.
Sin embargo, un punto a tener en cuenta es que el valor Nulo
no está inherentemente asignado a una celda. Por lo tanto, en muchos casos, este método no funcionará y dirá que una celda no está vacía incluso cuando está en blanco porque su valor no es igual a NULL
.
Conclusión
En este artículo, hemos explicado seis métodos para verificar si una celda está vacía en Excel VBA:
- La función
IsEmpty
- Comparación con
vbNullString
- Comparación con una cadena vacía
- La función
Len
- Las funciones
Count
yCounta
- La función
EsNulo
Esperamos que hayas podido comprender estos conceptos. ¡Seguir aprendiendo!
Hello, I am Bilal, a research enthusiast who tends to break and make code from scratch. I dwell deep into the latest issues faced by the developer community and provide answers and different solutions. Apart from that, I am just another normal developer with a laptop, a mug of coffee, some biscuits and a thick spectacle!
GitHub