あなたはエクセルでサイコロを振りたいと思ったことはありませんか?
どっちでもいいような選択肢があって、たまには運に任せてみるのも良いかと思い、サイコロをふりたいときってありますよね。
でも実際にサイコロを振ってしまうと、音も出るし、「大事なことをサイコロで決めるなんて!」と怒られてしまうかもしれません。
エクセルでサイコロを振れるようにしておけば、周りの人にも気付かれずサイコロが振れます。
今回は「エクセルでサイコロを振るボタンを作る方法」を紹介します。
エクセルでサイコロを振るボタンを作る方法
エクセルでサイコロを振るボタンを作る方法です。
0.準備
最初に準備です。
エクセルファイルと同じフォルダにdice1~6.pngの画像を用意し、保存しておきましょう。

マクロを作るときは、「開発」タブを使います。
開発タブが出ていない方は、下のリンクで出し方を紹介していますので、まずは準備をお願いします。
→エクセルで開発タブを表示する方法
1.「開発」タブをクリック →「挿入」をクリック →「ボタン」をクリック

3.コード入力画面が開く

4.コードを入力
コードを入力します。
ランダムに1~6が出る、という内容です。

5.ボタンができた →ボタンを押す
ボタンができたら、ボタンを押しましょう。

6.サイコロが振れた
サイコロが振れました。
ボタンを押すたびに、サイコロの目が変わります。

ちなみに、エクセルでランダムに作った数字がどれくらいばらつきがあるのか?
サイコロはちゃんと1/6の確率でそれぞれの目が出るか?
以前検証したことがあるので、このサイコロがイカサマでないか気になる人は、下のリンク先も見てみて下さい。
→エクセルで作った乱数はどれくらいランダムなのか確認
これなら簡単にサイコロが振れますね!
まとめ
エクセルでサイコロを振るボタンを作る方法です。
0.準備
1.「開発」タブをクリック →「挿入」をクリック →「ボタン」をクリック
2.新規作成をクリック
3.コードを入れる画面が出る
4.コードを入力
5.ボタンができた →ボタンを押す
6.サイコロが振れた
これで周りの人に気付かれずサイコロが振れますね!
最後に、今回使ったコードとdiceの画像です。
Sub サイコロ画像を表示する()
Dim 目 As Integer
Dim ファイルパス As String
Dim シェイプ名 As String
Dim 左位置 As Double, 上位置 As Double
' サイコロの目(1~6)
Randomize
目 = Int(Rnd() * 6) + 1
' A1の位置を取得
With Range("A1")
左位置 = .Left
上位置 = .Top
End With
' 画像ファイルのパス(ファイル名は dice1.png ~ dice6.png)
ファイルパス = ThisWorkbook.Path & "\dice" & 目 & ".png"
シェイプ名 = "DiceImage"
' 既存のサイコロ画像を削除
On Error Resume Next
ActiveSheet.Shapes(シェイプ名).Delete
On Error GoTo 0
' サイコロ画像を挿入
ActiveSheet.Pictures.Insert(ファイルパス).Select
With Selection
.Name = シェイプ名
.Left = 左位置
.Top = 上位置
.Height = 50 ' 適宜調整
.Width = 50
End With
End Sub
diceの画像も参考にダウンロードできるようにしておきます。
コメント