Макросы до l oop в определенных ячейках - PullRequest
0 голосов
/ 29 января 2020

Я копирую определенные значения из Sheet3 в Sheet2, и для этого у меня есть al oop, проблема в том, что я хотел бы l oop только в ячейках. В основном, если у меня есть значения 1, 2, 3, 4 и т. Д. c. в столбце D Листа 2 я хочу l oop только в столбцах H строк, содержащих число '1'. Вот мой код.

Sub rand_v2()

Dim RNG1 As Range, RNG2 As Range, r As Range, p As Range, d As Collection, N As Long, MLRow As Long, x As Long

Set RNG1 = Sheet3.Range("A2:A500")
MLRow = Sheet2.Range("B" & Rows.Count).End(xlUp).Row


For x = 4 To MLRow
    If Sheet2.Cells(x, 8).Value = vbNullString Then
        Set d = New Collection
        For Each r In RNG1
            If r.Value <> vbNullString And Sheet3.Cells(r.Row, 4).Value = Sheet2.Cells(x, 2).Value And r.Value <> Sheet2.Cells(x - 1, 8).Value And r.Value <> Sheet2.Cells(x - 2, 8).Value And r.Value <> Sheet2.Cells(x - 3, 8).Value Then
                d.Add r
                N = Application.WorksheetFunction.RandBetween(1, d.Count)
                d.Item(N).Copy
                Sheet2.Cells(x, 8).PasteSpecial xlPasteValues
            End If
        Next r
        Set d = Nothing
    End If

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