Combinando declaração e loop If-Then no VBA

0

Se a coluna F for="CRDI"

E se algum dado na coluna R for "0"

Em seguida, as colunas S e T também precisam ser "0"

... mas às vezes essas colunas têm valores diferentes de zero. Basta criar a macro para eliminar os valores diferentes de zero se as outras duas condições forem atendidas.

Por favor, ajude ....

Estou no caminho certo ????

Worksheets("EDW_Caxton_Rat_Extract_File_201").Select
Range("A1048576").Select
Selection.End(xlUp).Select

LastRow = ActiveCell.Row - 1

For x = 0 To LastRow

    If Range("F2").Offset(x, 0).Value = "CRDI" And Range("R2").Offset(x, 0) = 0 _
        And Range("T2").Offset(x, 0) <> 0 Then
            Range("T2").Offset(x, 0) = 0
            x = x - 1
    Next x
End If
    
por Ryan-IDKwhatI'mdoing 09.10.2015 / 18:26

1 resposta

1

Isso faz o que você descreveu no seu comentário:

  • Filtrar coluna 6 (F) em "CRDI"
  • Filtre a coluna 18 (R) em "0"
  • Definir valores (visíveis) nas colunas S e T para "0" (não incluindo a linha de cabeçalho)
Option Explicit

Public Sub setZeroes()
    Application.ScreenUpdating = False
    With ActiveSheet.UsedRange
        .AutoFilter
        .AutoFilter Field:=6, Criteria1:="CRDI"
        .AutoFilter Field:=18, Criteria1:="0"

        .Range("S" & .Row + 1 & ":T" & .Rows.Count).Value2 = 0
        .AutoFilter
    End With
    Application.ScreenUpdating = True
End Sub

    
por 10.10.2015 / 03:01