Validar Si la Celda está vacía se cumpla o no una condición con Macro en Excel.

Tengo esta planilla:

Con este Botón, necesito validar si, hay escrito en la columna A:A en las celdas texto, entonces me valide si en las celdas de la columna B dice "PAGO", entonces me deje la celda C vacía, de lo contrario, me escriba "SI"

Esto lo estoy haciendo con la siguiente macro:

Aqui está el código, para que por favor me lo ayuden a perfeccionar:

Sub Validar()

If Range("A2").Text Or Range("A3").Text <> "" Then

For i = 3 To 1000
If IsEmpty(Cells(i, 2)) Then
Cells(i, 3).Value = "SI" 'FILA, COLUMNA
End If
Next i
Else
Range("C3").Text = ""
Range("B3").Text = ""
End If
End Sub
Sub Verificar()
Range("C2:C6500").ClearContents
End Sub
Sub Confirmar()
Verificar
Validar
End Sub

1

1 Respuesta

4.660.525 pts. Sancho, si los perros ladran ...

H o l a:

Te anexo la macro para:

"necesito validar si, hay escrito en la columna A:A en las celdas texto, entonces me valide si en las celdas de la columna B dice "PAGO", entonces me deje la celda C vacía, de lo contrario, me escriba "SI""

Sub ValidarCeldas()
'Por.Dante Amor
    For i = 2 To Range("A" & Rows.Count).End(xlUp).Row
        If Cells(i, "A") <> "" And Cells(i, "B") = "PAGO" Then
            Cells(i, "C") = ""
        Else
            Cells(i, "C") = "SI"
        End If
    Next
End Sub

Muchas ¡Gracias!  Dante por tu valiosa colaboración, tu macro está de maravilla, sin embargo, aún me está colocando un "SI" en las celdas de la columna "C" a pesar de que las Celdas de las columnas "A" y "B" de esa misma Fila estén vacías.

Mira el resultado:

Te agradezco me ayudes a corregir esa pequeña no conformidad.

Muchas gracias nuevamente.

Luis Carlos

H o l a estmado:

Revisando tus indicaciones:

"necesito validar si, hay escrito en la columna A:A en las celdas texto, entonces me valide si en las celdas de la columna B dice "PAGO"

Eso significa que si "A" diferente de vacío y en "B" dice "PAGO", entonces "C" = vacío.

No escribiste la consideración: si "A" = vacío y  "B" = vacío, entonces "C" = vacío.

De cualquier forma, te anexo la macro con la actualización:

Sub ValidarCeldas()
'Por.Dante Amor
    For i = 2 To Range("A" & Rows.Count).End(xlUp).Row
        If (Cells(i, "A") = "" And Cells(i, "B") = "") Or _
           (Cells(i, "A") <> "" And Cells(i, "B") = "PAGO") Then
            Cells(i, "C") = ""
        Else
            Cells(i, "C") = "SI"
        End If
    Next
End Sub

Recuerda cambiar la valoración a la respuesta.

S aludos.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas