【エクセルVBA】サイコロマクロの作り方!各目の画像を準備するだけ!

この記事では、エクセルでサイコロマクロをつくる方法をご紹介していきます。

 

構造として以下の画像のようにあらかじめ準備した各目の画像からランダムに画像を引っ張ってくるというものです。

サイコロマクロの概要説明図

 

ですので、あなたの好きなように目の模様を改造することも可能です。

ぜひお子様と一緒に作成し、遊んでみてはいかがでしょうか。

 

それでは早速やっていきましょう!

 

スポンサーリンク

下準備:エクセルシートを整える

まずは下準備としてサイコロの目を出す場所、各目の画像を作成する場所を作りましょう。

 

今回は以下のように目が出る場所を作りました。

サイコロマクロを作成する際の下準備説明

次に各目の画像を作成する場所です。

上の目が出る場所と同じサイズの領域を6つ作成しておきます。

サイコロマクロを作成する際の下準備説明

※後程紹介するVBAコードでこれらの領域をひとつひとつ指定していきます。ですのでこの作業はどんな領域に、どんな並び方で作成してもOKです。

 

スポンサーリンク

各目の画像を作成する

次は先ほど作成した6つの領域に、各目が出たときの画像を作成していきましょう。

 

どんな作り方をしてもOKですが、今回は以下のように円図形を使って作成しました。

サイコロの目を作成する方法の説明

 

以下が完成形です。

サイコロの目の画像を作成した結果

 

スポンサーリンク

サイコロをふるVBAコードを記述する

下準備が整ったところで、VBAコードを記述していきましょう。

VBAは初めて使うという人は、以下の記事を参考にしてください。

エクセルマクロ(VBA)の始め方!初心者向けに画像を使って詳細解説

 

というわけで以下がサイコロマクロです。

Sub dice_sub()
    Dim dice_num As Integer
    '2回目以降なら前回のサイコロを削除する
    Application.ScreenUpdating = False
    For Each obj In ActiveSheet.Shapes
         If obj.Name = "dice_pic" Then
            ActiveSheet.Shapes.Range(Array("dice_pic")).Delete
        End If
    Next
    'サイコロを表示する場所を選択する
    Range("B2:D4").Select
    '各目のときに表示する画像がある場所を指定
    Set dice1 = Range("B6:D8")
    Set dice2 = Range("E6:G8")
    Set dice3 = Range("H6:J8")
    Set dice4 = Range("K6:M8")
    Set dice5 = Range("N6:P8")
    Set dice6 = Range("Q6:S8")
    '乱数で何を出すか決める
    dice_num = WorksheetFunction.RandBetween(1, 6)
    If dice_num = 1 Then
            dice1.CopyPicture
    ElseIf dice_num = 2 Then
            dice2.CopyPicture
    ElseIf dice_num = 3 Then
            dice3.CopyPicture
    ElseIf dice_num = 4 Then
            dice4.CopyPicture
    ElseIf dice_num = 5 Then
            dice5.CopyPicture
    Else
            dice6.CopyPicture
    End If
    '決まった目を表示させる
    ActiveSheet.PasteSpecial
    Selection.ShapeRange.Name = "dice_pic"
    Application.ScreenUpdating = True
End Sub

 

基本的には各目の画像を作成した領域をひとつひとつ指定し、乱数で発生させた数値に応じてそれらの領域を画像として出力しているだけです。

 

一行ずつ読んでいけばきっと理解できるはずです。

 

スポンサーリンク

マクロ実行ボタンを作成しておく

次は先ほどのマクロを実行するボタンを作成しておきましょう。

 

ボタンの作成方法は以下の記事を参考にしてください。

【エクセル】マクロ実行ボタンの作成手順!画像つきで詳細解説!

 

最終的な完成形はこんな感じです。

サイコロマクロの実行ボタンを作成した結果

 

スポンサーリンク

サンプルコードの実行結果

最後に先ほどのボタンを押してみましょう。

サイコロマクロを実行した結果

問題なくランダムにいろいろな目が表示されました。

 

スポンサーリンク

おわりに

というわけでエクセルVBAをつかって簡単なサイコロを作成する方法をご紹介しました。

お子さんとぜひ遊んでみてください。

 

このように、私のブログではエクセルスキルはもちろん、様々なプログラミングスキルを紹介しています。

 

今は仕事中で時間がないかもしれませんが、ぜひ通勤時間中などに他の記事も読んでいただけると嬉しいです。

⇒興味をもった方は【ヒガサラ】で検索してみてください。

確実にスキルアップできるはずです。

 

最後に、この記事が役に立ったという方は、ぜひ応援よろしくお願いします。

↓ 応援ボタン

にほんブログ村 IT技術ブログ VBAへ
にほんブログ村

それではまた!

コメント

タイトルとURLをコピーしました