Tips

【プログラミング入門】Excelでオセロを作って楽しくプログラミングを学ぼう!⑤
2016.08.12

【プログラミング入門】Excelでオセロを作って楽しくプログラミングを学ぼう!⑤

「プログラミングに興味があるけど…」
「VBAを使って作業を効率化できたらなぁ」
「プログラミング勉強したけどわからん(´・ω・)」

等々、プログラミングって結構敷居が高い!
気持ちはわかります。私は、最初にJavaを触りましたが、わからなくて何も面白くなかったです。。
でも!普段使っているExcelならわかりやすいはず!
というわけで、Excelでオセロを作ってプログラミングを楽しく学んでいきましょう。

Excelでオセロを作ろう⑤


オセロを作って楽しくプログラミングを学ぼう!
第5回ではクリックイベントを使って盤に石を置いていきます。

マクロの内容追記

クリックイベントの取得

今回はセルをダブルクリックされたときに石を配置するようにしていきます。
Excelでそのイベントを取得するのは実はすごく簡単にできます。
下記の手順に従って操作してみてください。

VBAプロジェクトの中から「sheet1」をダブルクリックします。
※オセロ盤があるシートをダブルクリック
VBAイベント取得

開いたウィンドウで「(General)」のドロップダウンを「Worksheet」に変更します。
VBAイベント取得2

勝手に別のイベントが記述されますがいったんおいておいて「BeforeDoubleClick」を選択します。
VBAイベント取得3

「BeforeDoubleClick」のメソッドが作成されました。
VBAイベント取得4

勝手に作成された「SelectChange」のメソッドは消してしまいしょう。
VBAイベント取得5
VBAイベント取得6

次にこのイベントが有効なのかどうなのかをわかりやすく確認するためにこのメソッドの中にメッセージボックスを記述していきます。
VBAイベント取得7

どこかのセルをダブルクリックしてみましょう。
メッセージボックスが表示されるはずです。
VBAイベント取得8
VBAイベント取得9

メッセージが表示されました。

石の配置

セルをダブルクリックすると先ほどのメソッドが動くことを確認できたので、メッセージボックスを出力するのではなく石を置いていきます。
クリックされたセルの場所の取り方ですが、先ほど作成した「BeforeDoubleClick」メソッドの引数の「target」にセルの情報が格納されています。
そこから、行と列を取り出して石を配置していきます。
具体的には下記のようになります。


Cells(Target.Row, Target.Column).Value = "○"

VBAセル情報取得1

保存後、どこかクリックしてみましょう。
VBAイベント取得8
VBAセル情報取得2

ダブルクリックしたセルに石を置くことができました。
しかし、このままではまだまだ問題が残っています。
石が交互に打てない、盤の外でも石が置けてしまうなど…。
次回以降に少しずつ対処していきます。

次回の予定

次回は、条件分岐を使用して石を白黒交互に配置できるようにしていきます。

記事一覧


【プログラミング入門】Excelでオセロを作って楽しくプログラミングを学ぼう!①
【プログラミング入門】Excelでオセロを作って楽しくプログラミングを学ぼう!②
【プログラミング入門】Excelでオセロを作って楽しくプログラミングを学ぼう!③
【プログラミング入門】Excelでオセロを作って楽しくプログラミングを学ぼう!④
【プログラミング入門】Excelでオセロを作って楽しくプログラミングを学ぼう!⑤
【プログラミング入門】Excelでオセロを作って楽しくプログラミングを学ぼう!⑥
【プログラミング入門】Excelでオセロを作って楽しくプログラミングを学ぼう!⑦
【プログラミング入門】Excelでオセロを作って楽しくプログラミングを学ぼう!⑧
【プログラミング入門】Excelでオセロを作って楽しくプログラミングを学ぼう!⑨
【プログラミング入門】Excelでオセロを作って楽しくプログラミングを学ぼう!⑩
【プログラミング入門】Excelでオセロを作って楽しくプログラミングを学ぼう!⑪
【プログラミング入門】Excelでオセロを作って楽しくプログラミングを学ぼう!⑫
【プログラミング入門】Excelでオセロを作って楽しくプログラミングを学ぼう!⑬
【プログラミング入門】Excelでオセロを作って楽しくプログラミングを学ぼう!⑭
【プログラミング入門】Excelでオセロを作って楽しくプログラミングを学ぼう!⑮

excel_VBAを学んで業務効率化!

excel-vba入門 連載

Recent News

Recent Tips

Tag Search