La función IsEmpty sirve para verificar si una celda (o rango) está vacía o no tiene datos. Si en una celda hubiera un espacio (el cual no se puede ver), Excel no reconocería a la celda como vacía. La función IsEmpty solo es efectiva cuando se usa en variables “variant”, esto debido a que las otras variables ya tienen un valor asignado por defecto en la declaración de las variables. Una variable es del tipo “variant” si no es explícitamente declarada como de otro tipo. Entonces, la función IsEmpty sirve para determinar si una variable ha sido alguna vez inicializada, es decir, si a esta variable se le ha asignado un valor.
El siguiente ejemplo es una forma sencilla de usar la función IsEmpty. Este ejemplo es sobre una cuota que tienen que pagar cada departamento de un edificio, y si un departamento no paga tal cuota, este tendría que pagar una multa. La macro usada es la siguiente:
Sub macro01()
For i = 3 To 17
If IsEmpty(Cells(i, 2)) Then
Cells(i, 3).Value = "MULTA"
End If
Next i
End Sub
Donde, las funciones “For” y “Next” sirven para que se analice desde la celda (3,2) hasta la celda (17,2). Y si una celda está vacía se asignará en la siguiente columna (misma fila) el valor de “multa”.
Adjunto el archivo: Función IsEmpty en VBA
Reyes Castillo, José Miguel
21/02/2017 a las 4:45 pm
Como puedo hacer para copiar un textbox si otro textbox esta lleno y si esta en blanco continuar con la funcion
03/04/2017 a las 12:33 pm
Una consulta, y si quiero que me sume solo las columnas llenas como debe ir el codigo.
Gracias
25/04/2023 a las 12:51 pm
Muy claro el ejemplo,
Saludos
12/08/2023 a las 2:57 pm
Reyes Castillo, Jose Miguel ; YO realice el siguiente codigo y es correcto, con la deferencia del caso:
Porque asi, el usuario puede ingresar mas valores a la tabla y con un solo clic sobre el boton de comando , es posible el resultado.
Option Explicit
Sub FUNCION_VBA_ISEMPTY()
'codigo mejorado de Reyes Castillo, José Miguel
Dim W As Variant
Dim FILAS As Variant
FILAS = Worksheets("FUNCION VBA ISEMPTY").Range("C" & Rows.Count).End(xlUp).Row
For W = 11 To FILAS
If IsEmpty(Cells(W, 3)) Then
Cells(W, 4).Value = "SE LE MULTA"
End If
Next W
End Sub