Celda

Mi duda es la siguiente como indico en código VBA que una celda esta vacía, porque quiero hacer una comparación en donde si la celda esta vacía debe colocar en otra celda (No hubo).

6 Respuestas

Respuesta
1
Delcarmen...
Con la siguiente instrucción puedes verificar si la celda esta vacía y si esta vacía que ejecute la instrucción deseada:
'Se detiene cuando encuetre una celda con valor
Do While IsEmpty(ActiveCell)
ActiveCell.Offset(1, 0).Select
Loop
Con la siguiente de detiene cuando encuentra una celda vacia
Do While Not IsEmpty(ActiveCell)
ActiveCell.Offset(1, 0).Select
Loop
Espero te sirva... cualquier duda estoy a tus ordenes.
Respuesta
1
Para esto debes hacer más o menos así:
Sub Celda_vacia()
Dim Celda, Celda2
Celda = "C4"
Celda2 = "D4"
If Range(Celda).Value = Empty Then
Range(Celda2).Value = "No hubo"
End If
End Sub
En este código Celda y Celda2 están como variant... pero bueno
Lo que hace es ver si Celda esta vacía "empty" va a la Celda2 y pone "No hubo"
Ojala te sirva este ejemplo, existen más maneras y en la misma ayuda de MVBA, puedes buscar bajo el item Empty.
Saludos
Rey_Black
Después de La Tormenta siempre Sale El Sol :D
Respuesta
1
Espero haber interpretado tu pregunta y que esto solucione tu problema.
Sub compara()
ActiveSheet.Range("a1").Activate ' se Activa la celda a comparar
If IsEmpty(ActiveCell) Then
Range("b1").Value = "Vacia"
Else
Range("b1").Value = "No Vacia"
End If
End Sub
Respuesta
1
Puedes probar con la expresión Value=Empty, que en tu ejemplo podía quedar más o menos así:
ActiveCell.Select
If ActiveCell.Value = Empty Then
Range("A1").Select
ActiveCell.FormulaR1C1 = "No hubo"
End If
Bueno, haz la prueba y si no es lo que buscabas continúa con la pregunta.
Respuesta
1
Anexo código de dos ejemplos para la comparación que indicas:
Sub celda()
' Ejemplo A
If Cells(1, 1).Value = "" Then
MsgBox "celda A1 vacia, empleando comillas nulas"
End If
'Ejemplo B
If Range("A1").Value = Empty Then
MsgBox "celda A1 vacia, empleando Empty"
End If
End Sub
Respuesta
1
Utiliza la palabra Empty como en el ejemplo:
Do While ActiveCell <> Empty
ActiveCell.Offset(1,0).Select
Loop

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas