Excelのこととか色々

マクロをどんな Excel ファイルにも実行できるように設定して、3秒かかる操作も1秒で完了。あといろいろ書いてみます・・・

【Excelでじゃんけんゲームを作ろう01】

【Excel/VBAでじゃんけんゲーム01】

f:id:tuna-kichi:20200418165306p:plain

20年位前に VB (Visual Basic) の授業を取った時に、

じゃんけんゲームを作るという課題がありました。

 

「じゃんけん」 という 簡単なゲームなのですが、作成しているときは

「とても面白かった」という記憶があります。

 

VBAを勉強するきっかけとしては、なかなかいい題材だと思います。

ゲームとして動作するものを何回かに分けて紹介します。

(当時と同じコードはかけないかもしれませんが・・・)

 

  _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/

更新 追加 2020.05.05

新規の Excel に「じゃんけんゲーム」などの名前を付けて、

xlsm で、保存してください。

その Excel に作成していきます。 

 

完成予想図

うーん・・・相変わらず下手な絵だ・・・

f:id:tuna-kichi:20200418180816p:plain

 

グー、チョキ、パーの絵の準備

授業では、「グー」「チョキ」「パー」 の文字だけを表示させる指示でしたが、

ちょっとつまらなかったので、ペイントを使って自作した絵を使っちゃいました。

 

いまは、著作権フリーの素材を活用しても良いと思います。

 

それぞれ絵を用意して、拡張子は 「bmp」 か「jpg」で保存してください。

(png は対応していません)

 

VBEを開く

まずは、VBE(Visual Basic Editor)を開きましょう。

【開発】タブ > 【Visual Basic】で開きます。

 

開発タブの表示の方法はこちらの記事を参考にしてください。
www.tuna-kichi.com

 

フォームの作成

じゃんけんゲームの画面を作成するといった方が、

分かりやすいかもしれませんね。

【挿入】>【ユーザーフォーム】を選択すると、

f:id:tuna-kichi:20200418173614p:plain


「ツールボックス」と一緒に空白のフォームが表示されます。

このツールボックスはフォームを選択(クリック)すると、表示されます。

どこかに表示されます・・・

 

大きいモニターや、2画面で作業している人は、

どこに表示されたか見失うことがありますが、必ずどこかに表示されています。

f:id:tuna-kichi:20200418173913p:plain

 

それでは、この空白のフォームに、完成予想図を参考に

「見た目」を作成していきます。

 

部品作成

ラベルの追加

まずは、赤枠の「ラベル」部分からフォームに追加していきます。

 f:id:tuna-kichi:20200419203102p:plain

 

ここをクリックして「ラベル」を選択して、

f:id:tuna-kichi:20200419203932p:plain

 

フォームの適当なところをクリックすると、こんな感じのものが作成されます。 

(ツールボックスの「ラベル」をクリックするとマウスポインタが

変わるのですが、キャプチャできなかった・・・)

f:id:tuna-kichi:20200419204425p:plain

作成したラベルが選択されている状態で、プロパティウインドウから

【Caption】(表示する文字)に、「あなた」と入力

f:id:tuna-kichi:20200419205554p:plain

【Font】の「・・・」をクリックして

スタイルを「太字」、サイズ「12」 に変更。

もちろんここはお好みで。

f:id:tuna-kichi:20200419205846p:plain

 

そしたら、「あなた」ラベルを7個コピーを作成して、

全部で8個の「あなた」を作成しましょう。

f:id:tuna-kichi:20200419210419p:plain

 

1つは「あなた」として使用します。

4つは以下の通り、プロパティウインドウから【Caption】を変更してください。

1.Computer

2.勝

3.負

4.分

 

残りの3つは【(オブジェクト名)】

5.lblWin

6.lblLose

7.lblDraw

を入力して、3つとも【Caption】は空欄にしてください。

「lblWin (lblLose, lblDraw)のラベルに1を足す」というコードを書いて、

戦績を記録していきます。

 

「Label13」とかそのままでも良いのですが、

どこで、何のために使用するラベルか、がわかりやすいし、扱いやすいです。

f:id:tuna-kichi:20200419211715p:plain

 

ラベル部分の見た目は、こんな感じになります。

f:id:tuna-kichi:20200419213656p:plain


今回はここまでにします。

次回は、残りの部品作成と配置かな。

  _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/