Заполнить столбцы случайным образом по циклу - PullRequest
0 голосов
/ 04 октября 2019

Недавно мне помог код, который случайным образом заполняет ячейки на основе значений строки № 1. Answered_Post . (Спасибо @JvdV и @Scott Craner за помощь мне раньше.)

Теперь мне нужно сделать почти то же самое, но код заполнит ячейки, перепрыгивая столбцы в соответствии со случайным значением (x) ввсего 10 рядов. Повторяемые значения остаются в строке № 1.

Ниже кода, указанного на этом посте, для заполнения строк. Мне нужно сейчас, как на картинке, заполнить столбцы.

Dim x As Long, y As Long, z As Long
With Sheet1 'Change accordingly
For y = 1 To 15
    z = 0
    Do While z < 4
        x = Int((7 - 2 + 1) * Rnd + 2)
        If .Cells(x, y) <> .Cells(1, y) Then
            .Cells(x, y) = .Cells(1, y)
            z = z + 1
        End If
    Loop
Next y
End With

Table_With_Sample_Values ​​

1 Ответ

0 голосов
/ 04 октября 2019
Sub FillColumns01()
    For y = 1 To 15
    z = 0
    j = 1
    Do While z < 4
            x = Int((7 - 2 + 1) * Rnd + 2)
            If Cells(x, y) <> Cells(1, y) Then
                Cells(y + 1, j) = Cells(1, y)
                z = z + 1
                j = j + 1
            End If
    Loop
Next y
End Sub

Sub FillColumns02()
'Using a 3rd Loop
Dim x As Integer, y As Integer, z As Integer, j As Integer

For y = 1 To 10
    z = 0
    Do While z < 4
        For j = 1 To 15
            x = Int((7 - 2 + 1) * Rnd + 2)
            If Cells(x, y) <> Cells(1, y) Then
                Cells(j, x) = Cells(1, y)
                z = z + 1
            End If
        Next j
    Loop
Next y

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