Tips

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

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

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

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

Excelでオセロを作ろう⑧


オセロを作って楽しくプログラミングを学ぼう!
第8回では石がすでに置いてある場所には置けないようにしていきます。

石がすでに置いてあるか確認する方法

石がすでにおいてあるか確認する方法ですが非常にシンプルです。
置こうとしているセルの値を取得し、その値が何かによって確認します。
セルの取りうる状態は、「何も置かれていない」、「●の石が置かれている」、「○の石が置かれている」の三種類です。
よって、何も置かれていない状態だった場合は、つまり値に何も入っていなかった場合に石を置くようなロジックを組み込みます。

マクロの内容追記

先ほど考えた石がすでにおいてあるか確認する方法をプログラムで実現していきましょう。

クリックされたセルの値を取得する

「cell_DoubleClick」メソッドにクリックされたセルの値を表示するコードを一時的に記載して値がとれることを確認します。
クリックされた場所は、「cell_click_row」と「cell_click_column」にてとることができるので下記のようなコードを記載します。


MsgBox (Cells(cell_click_row, cell_click_column).Value)

セル内容表示確認2

保存後、どこかの盤上のセルをダブルクリックしてみましょう。

セル内容表示確認

セル内容表示確認3

○が書かれているセルをダブルクリックしてみましょう。

セル内容表示確認4

セル内容表示確認5

無事セルの内容を取得することができました。
この値を使用して書き込むか書き込まないかを判定していきます。

取得したセルの値が「””」の時に書き込みをする

条件分岐を使用して、書き込みをするかどうかを判定していきます。
もし「””」の時は、今までの処理を行います。
「””」以外の時は、「すでに石が置かれています。」と出力します。
プログラムで書くと以下のようになります。


If Cells(cell_click_row, cell_click_column).Value = "" Then

(今までの処理)

Else
MsgBox "すでに石が置かれています。"
End If

セルへの書き込み判定1

石が置かれていないところに石を置こうとすると問題なく石を置くことができます。
すでに石が置いてある場所に置こうとすると、「すでに石が置かれています。」と表示されるようになります。

まずはまだ石が置かれていないところをダブルクリック

セルへの書き込み判定2

セルへの書き込み判定3

次にすでに石が置かれているところをダブルクリック

セルへの書き込み判定4

セルへの書き込み判定5

問題なく石が置いてあるかどうかのチェックができています。

次回の予定

次回は、石を置くことによって変わる石が存在するかどうかの判定をしていきます。

記事一覧


【プログラミング入門】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