Циклы в Excel VBA - PullRequest
       1

Циклы в Excel VBA

0 голосов
/ 07 октября 2019

Может ли кто-нибудь научить меня, как пройти через это. Ячейка, которая изменяется, от A12 до A13 вплоть до A30

Sheets("Macro").Select
With Sheets("ONE")
    'loop column N until last cell with value (not entire column)
     For Each Cell In .Range("N1:N" & .Cells(.Rows.Count, "N").End(xlUp).Row)
        If Cell.Value = Range("A12") Then
             ' Copy>>Paste in 1-line (no need to use Select)
            .Rows(Cell.Row).Copy Destination:=Sheets("NEW").Rows(Cell.Row)
        End If
     Next Cell
     End With

Sheets("Macro").Select
With Sheets("ONE")
    'loop column N until last cell with value (not entire column)
     For Each Cell In .Range("N1:N" & .Cells(.Rows.Count, "N").End(xlUp).Row)
        If Cell.Value = Range("A13") Then
             ' Copy>>Paste in 1-line (no need to use Select)
            .Rows(Cell.Row).Copy Destination:=Sheets("NEW").Rows(Cell.Row)
        End If
     Next Cell
     End With

1 Ответ

0 голосов
/ 07 октября 2019

Попробуйте это:

Dim i as Long

With Sheets("ONE")
    'loop column N until last cell with value (not entire column)
     For i=1 to .Cells(.Rows.Count, 14).End(xlUp).Row
        If Cell(i, 14).Value = Range("A12").Value Then
             ' Copy>>Paste in 1-line (no need to use Select)
            .Rows(i).Copy Destination:=Sheets("NEW").Rows(i)
        elseIf Cell(i, 14).Value = Range("A13").Value Then
               ' Copy>>Paste in 1-line (no need to use Select)
            .Rows(i).Copy Destination:=Sheets("NEW").Rows(i)
        End If
     Next Cell
End With

В любом случае, учтите, что если значение не равно A12 или A13, данные не будут скопированы. Надеюсь, это поможет

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...