| 
    
     |  | ▼派遣社員のレイコ さん: >はじめまして★賢者の皆様。
 >今度、会社の行事でくじ引きをするんですが、
 >その時に抽選結果をスロットマシーンのように
 >数字が動いて3桁のあたりナンバーを表示する
 >ようなものを作りたいんです。しかも、動いてる
 >数字を止める時は、1リールずつストップボタン
 >で止めたいんです・・・。あと、あたりナンバーは
 >1〜299までがいいんです。
 >知恵を貸して頂けるとありがたいです!
 'これで一応ルーレットらしく動きます
 '次のsubでフォームを表示
 'Sub UserForm表示()
 '  UserForm1.Show
 'End Sub
 'ユーザーフォームに4つのボタンを作り、下記VBAをそのフォームに貼り付けてください
 Private flag1 As Integer
 Private flag2 As Integer
 Private flag3 As Integer
 
 '停止ボタン1列目
 Private Sub CommandButton1_Click()
 flag1 = 1
 End Sub
 
 '停止ボタン2列目
 Private Sub CommandButton2_Click()
 flag2 = 1
 End Sub
 
 '停止ボタン3列目
 Private Sub CommandButton3_Click()
 flag3 = 1
 End Sub
 
 '開始ボタン
 Private Sub CommandButton4_Click()
 flag1 = 0
 flag2 = 0
 flag3 = 0
 a = 0
 b = 0
 c = 0
 Do While (flag1 + flag2 + flag3 = 3) = False
 DoEvents 'これでButton1のクリックを可能にする
 If flag1 = 0 Then リール a, 1, 3
 If flag2 = 0 Then リール b, 2, 10
 If flag3 = 0 Then リール c, 3, 10
 Loop
 UserForm2.Hide
 End Sub
 
 '各列のリールルーチン
 Sub リール(j, 列, max)
 Cells(1, 列) = j
 Cells(1, 列).Interior.ColorIndex = j + 5
 '
 k = j + 1
 If k = max Then k = 0
 Cells(2, 列) = k
 Cells(2, 列).Interior.ColorIndex = 36
 '
 m = k + 1
 If m = max Then m = 0
 Cells(3, 列) = m
 Cells(3, 列).Interior.ColorIndex = m + 5
 j = j + 1
 If j = max Then j = 0
 End Sub
 
 |  |