会社のイベントや結婚式の二次会などで幹事になるとイベントや景品の準備が大変ですよね。パーティでビンゴをやるつもりだけど、どんなツールやアプリを使うか迷っている方もいるかと思います。そこで今回はパソコンで簡単にビンゴゲームができるエクセルを作成しました。
クリック1つで簡単に抽選ができるので、ぜひご利用して頂ければと思います。また、簡易的ですが同一エクセルでビンゴカード生成もできるようにしています。
※アルファベットビンゴ版は以下のページ
アルファベットビンゴができるエクセルファイル【ビンゴシート生成可能】
ファイルダウンロード
使用するファイルはこちらになります。
ファイルを開くときに「ウイルスに感染している可能性があります」とメッセージが出ると思いますが特に悪意のあるソフトではないので問題ないです(笑)エクセルマクロを使用しているので、このメッセージが出るのは仕方ないですね。
「編集を有効にする」をクリックして「コンテンツの有効化」をクリックするとプログラムを起動することができます。
使い方
使い方はとても簡単で「抽選開始ボタン」をクリックするだけです。
※ダブルクリックではなく、1クリックでスタートが開始されます。複数回クリックすると連続で抽選が開始されてしまいます。
初期の画面はこのようになっていて、抽選開始ボタンをクリックすると数字の抽選が始まります。
ランダムな数字がいくつか表示された後、抽選数字が確定します。抽選時間は5秒くらいです。
例えば1回目の抽選は「33」が出ました!
この状態で5秒経つと自動的に抽選数字一覧画面に移ります。
今までどのような数字が抽選されたか確認することができます。
さらに、この状態が5秒表示された後、再び以下の抽選画面に戻ります。
2回目以降も抽選開始ボタンをクリックすれば抽選が開始されます。
ビンゴを最初からやる場合には、ゲームリセットボタンをクリックすれば今までの抽選数字一覧もクリアされます。使い方は難しくないので、ぜひご利用頂ければと思います。
ビンゴカードは100円ショップ等で買うことをおすすめしますが、もしビンゴカードを紙で作成する場合はファイル中の「ビンゴカード」のタブを選択し、「ビンゴカード生成」ボタンをクリックするとランダムでビンゴカードが生成されます。
また、ビンゴの景品で悩まれている方は以下の商品はいかがでしょうか?
景品の参考としてご紹介させて頂きます。
ソースコード
少しマニアックですが、動作している仕組みが知りたいという人のために、VBAのコードを貼っておきます。
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long) Sub 数字抽選() Dim i As Integer Dim temp_num As Integer Dim count As Integer Dim flag As Integer count = Worksheets("抽選数字一覧").Cells(3, 4) If count = 75 Then MsgBox "すべての数字が選出されました" Exit Sub End If 書式リセット '----------------抽選を演出---------------- For i = 1 To 10 DoEvents Sleep 200 Worksheets("抽選機").Cells(1, 1) = Int(Rnd() * 75 + 1) Next For i = 1 To 5 DoEvents Sleep 500 Worksheets("抽選機").Cells(1, 1) = Int(Rnd() * 75 + 1) Next For i = 1 To 3 DoEvents Sleep 700 Worksheets("抽選機").Cells(1, 1) = Int(Rnd() * 75 + 1) Next '------------------------------------------- Do While 1 DoEvents temp_num = Int(Rnd() * 75 + 1) flag = 1 '乱数生成成功フラグを立てる For i = 1 To 75 If temp_num = Worksheets("抽選数字一覧").Cells(i, 1) Then flag = 0 '乱数生成失敗 End If Next If flag = 1 Then Exit Do End If Loop Worksheets("抽選機").Cells(1, 1) = temp_num Sleep 1000 確定演出 Worksheets("抽選数字一覧").Cells(4, 4) = Worksheets("抽選機").Cells(1, 1) 抽選数字一覧書き込み DoEvents Sleep 5000 Sheets("閲覧用抽選数字").Select 抽選数字一覧色塗り DoEvents Sleep 5000 Sheets("抽選機").Select End Sub Sub 抽選数字一覧書き込み() Dim i As Integer Dim counter As Integer count = Worksheets("抽選数字一覧").Cells(3, 4) Worksheets("抽選数字一覧").Cells(count + 1, 1) = Worksheets("抽選数字一覧").Cells(4, 4) End Sub Sub 抽選数字一覧色塗り() Dim i As Integer Dim num As Integer Dim j As Integer Dim k As Integer num = Worksheets("抽選数字一覧").Cells(4, 4) j = (num - 1) \ 15 k = (num - 1) Mod 15 Cells(j + 1, k + 1).Select With Selection.Interior .Pattern = xlSolid .PatternColorIndex = xlAutomatic .Color = 13434879 .TintAndShade = 0 .PatternTintAndShade = 0 End With With Selection.Font .Color = -52429 .TintAndShade = 0 End With End Sub Sub ゲームリセット() Dim i As Integer For i = 1 To 75 Worksheets("抽選数字一覧").Cells(i, 1) = "" Worksheets("抽選数字一覧").Cells(4, 4) = "" Next Sheets("閲覧用抽選数字").Select Range("A1:O5").Select With Selection.Interior .Pattern = xlSolid .PatternColorIndex = xlAutomatic .ThemeColor = xlThemeColorDark1 .TintAndShade = 0 .PatternTintAndShade = 0 End With With Selection.Font .ThemeColor = xlThemeColorDark1 .TintAndShade = -0.149998474074526 End With Sheets("抽選機").Select Range("A1").Select End Sub Sub ビンゴカード生成() Dim temp_num(5) As Integer Dim i As Integer Dim j As Integer Dim k As Integer Dim check_flag As Integer For i = 0 To 4 '1列目から5列目に対して実行 Do While 1 '数字が決定するまで続ける For j = 1 To 5 temp_num(j) = Int(Rnd() * 15 + 1 + (15 * i)) '乱数を代入 Next check_flag = 1 '成功フラグを立てておく For j = 1 To 4 For k = j + 1 To 5 If temp_num(j) = temp_num(k) Then check_flag = 0 '同じ数字が失敗フラグにする End If Next Next If check_flag = 1 Then '成功フラグならwhile文を抜ける Exit Do End If Loop Worksheets("ビンゴカード").Cells(2, 2 + i) = temp_num(1) Worksheets("ビンゴカード").Cells(3, 2 + i) = temp_num(2) Worksheets("ビンゴカード").Cells(4, 2 + i) = temp_num(3) Worksheets("ビンゴカード").Cells(5, 2 + i) = temp_num(4) Worksheets("ビンゴカード").Cells(6, 2 + i) = temp_num(5) Next Worksheets("ビンゴカード").Cells(4, 4) = "Free" End Sub Sub 確定演出() Range("A1").Select With Selection.Interior .Pattern = xlSolid .PatternColorIndex = xlAutomatic .Color = 13434879 .TintAndShade = 0 .PatternTintAndShade = 0 End With With Selection.Font .Color = -52429 .TintAndShade = 0 End With End Sub Sub 書式リセット() Range("A1").Select With Selection.Interior .Pattern = xlNone .TintAndShade = 0 .PatternTintAndShade = 0 End With With Selection.Font .ColorIndex = xlAutomatic .TintAndShade = 0 End With End Sub
コメント
コメント一覧 (3件)
クリスマス会でビンゴをしたくて、利用させていただきます。ビンゴの雰囲気が出せて凄く嬉しいです。何回かおきにスタートボタンを押さないのに勝手にスタートしてしまいます。こちらで修正する方法はありますでしょうか?教えていただけると幸いです。
ご利用頂きありがとうございます。勝手にスタートしてしまうということですが、スタートさせるときに「抽選開始ボタン」をダブルクリックされていないでしょうか?ダブルクリックすると2回連続でスタートされてしまいます。「抽選開始ボタン」は1クリックでスタートするので、まずはその点をご確認頂ければと思います。
マウスではなくタッチパッドでクリックしたらちゃんとできました!!早速のお返事ありがとうございました。