シートのVBAコード
下記のVBAコードを追加してください。
'横線を描く
Private Sub ExMakeAmidaYoko(nin As Long)
Dim i As Integer
Dim j As Integer
Dim rn As Long
Dim lrow As Long
'乱数の初期化
Randomize
'縦線を描く
For j = 1 To (nin - 1) * 2 Step 2
lrow = 1
Do
'2~8の乱数
rn = Int((Rnd * 7) + 2)
'最終行かチェック
If lrow + rn >= AMIDAROW - 1 Then
Exit Do
End If
'隣に横線がないかチェック
If Cells(10 + lrow + rn, 2 + j - 2).Interior.Color <> RGB(255, 0, 0) _
And Cells(10 + lrow + rn, 2 + j + 2).Interior.Color <> RGB(255, 0, 0) Then
Cells(10 + lrow + rn, 2 + j).Interior.Color = RGB(255, 0, 0)
lrow = lrow + rn + 2
Else
lrow = lrow + 1
End If
Loop
Next
End Sub
下記のVBAコードに変更してください。
'あみだくじを描く
Private Sub ExMakeAmida(nin As Long)
Dim i As Integer
Dim j As Integer
'背景色のクリア
Range("A1:IV65536").Interior.ColorIndex = xlNone
'縦線を描く
For j = 0 To (nin - 1) * 2 Step 2
For i = 0 To AMIDAROW - 1
Cells(10 + i, 2 + j).Interior.Color = RGB(255, 0, 0)
Next
Next
ExMakeAmidaYoko nin
End Sub
シート画面
「Step 1 作成開始」ボタンをクリックすると、参加人数分赤色で縦線を描きます。
その間に乱数で横線を描きます。