No me funciona macro (if)

Tengo un código pero este no me funciona como deseo, si en la columna G el valor es falso quiero que me copie, el valor que esta en B a D y el de F a B y a su vez me pinte de color el valor de la columna D. Eh probado cambiando la condicional del Si, pero me hace lo contrario o no hace nada.

Anexo ejemplo.

Sub sustituir()
For j = Range("A" & Rows.Count).End(xlUp).Row To 2 Step -1
    If Cells(j, "G") = "FALSO" And Cells(j, "G") <> "" Then
        Cells(j, "D") = Cells(j, "B")
        Cells(j, "D").Select
        With Selection.Interior
        .Pattern = xlSolid
        .PatternColorIndex = xlAutomatic
        .Color = 49407
        .TintAndShade = 0
        .PatternTintAndShade = 0
        End With
        Cells(j, "B") = Cells(j, "F")
    Else
    'no hagas nada
        End If
      Next
End Sub

1 Respuesta

Respuesta
1

Te anexo la macro actualizada

Sub sustituir()
    For j = Range("G" & Rows.Count).End(xlUp).Row To 2 Step -1
        If Cells(j, "G") = "FALSO" Or Cells(j, "G") = FALSO Then
            Cells(j, "D") = Cells(j, "B")
            Cells(j, "B") = Cells(j, "F")
            With Cells(j, "D").Interior
                .Pattern = xlSolid
                .PatternColorIndex = xlAutomatic
                .Color = 49407
                .TintAndShade = 0
                .PatternTintAndShade = 0
            End With
        Else
            'no hagas nada
        End If
    Next
End Sub

Saludos.Dante Amor

¡Gracias! 

Solo faltaba agregar una condicional mas, pero gracias por la respuesta.

If Cells(j, "G") = "FALSO" Or Cells(j, "G") = FALSO and cells(j,"G") then

Saludos experto!

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas