形式的にも、全て打ち終わった場合の判定を入れておいた方が良いだろうと思って入れています。・最後にこれを使っています。黒石と白石の両方で検査すれば良いという事です。無駄のないように別プロシージャーにしています。勝敗の判定は、石数取得で設定しているセル数値数値を使っています。L2セルL3セルに名前定義をしているので、そこから2列右ということで、Offsetプロパティを使って、右に2列移動して取得しています。石数の取得は、単純に黒石と白石のカウントをするだけです。SubL2セルL3セルに名前定義をしているので、そこから2列右ということで、Offsetプロパティを使って、右に2列移動したセルに設定しています。大分ゲームらしくなってきました。PC対戦の機能を入れたいところですが、PC対戦となると、結構複雑になります。気になる細かい部分を変更しておきます。ExcelマクロVBAでオセロ(リバーシ)を作っていきながらマクロVBAを学ぶ第8回です。前回までで大分ゲームらしくなってきました。PC対戦の機能を入れたいところですが、今回は、はPC対戦の機能を入れる前に、気になる細かい部分を変更しておきます。全体の目次はじめにExcelマクロVBAでオセロ(リバーシ)を作っていきながら、マクロVBAを学んで行きましょう。目的は、マクロVBAの学習であり、思考を整理しVBAでプログラミングする学習です。従って、強いソフトを作ることが目的ではありませんので、最近流行のAIなんちゃら...なんていうのは考えるつもりはありません。No1.シートの用意と標準モジュールの挿入ExcelマクロVBAでオセロ(リバーシ)を作っていきながらマクロVBAを学ぶ第1回です。シートを用意しなければなりません、このシートの作り方で、その後の手間が随分と変わってきますので、しっかりと作ります。いえ、まずは一般的な感じで作ってみます、今後必要に応じて追加・変更していきます。No2.ブックを開いたときの処理と初期配置ExcelマクロVBAでオセロ(リバーシ)を作っていきながらマクロVBAを学ぶ第2回です。前回でシートの準備と標準モジュールを挿入しましたので、今回からは、マクロVBAをどんどん書き足していきます。イベントプロシージャーを作っていきます。No3.自分の石を置ける場所の判定の整理ExcelマクロVBAでオセロ(リバーシ)を作っていきながらマクロVBAを学ぶ第3回です。自分の石を置いて、相手の石をひっくり返す処理に進むのですが、その前に、そもそも自分の石を置ける場所はどこなのか...。クリックしたセルは、自分の石を置いて良いセルなのかの判定が必要です。No4.自分の石を置ける場所の判定の実装ExcelマクロVBAでオセロ(リバーシ)を作っていきながらマクロVBAを学ぶ第4回です。石を置ける場所の定義を、前回は文章で書きました、今回は、それをもとにマクロVBAのプログラミングをしていきます。考え方は決定しているので、後はVBAに翻訳(コーディング)していくだけです。No5.シート機能を拡張して今後の準備ExcelマクロVBAでオセロ(リバーシ)を作っていきながらマクロVBAを学ぶ第5回です。前回で石を置ける場所の判定が完成しましたので、これからは、ゲームとしての機能を一つずつ追加していきます。石を置ける場所の色を変更してわかりやすくしてみます。No6.黒石白石を交互に打って相手の石をひっくり返すExcelマクロVBAでオセロ(リバーシ)を作っていきながらマクロVBAを学ぶ第6回です。今回は、黒石白石を交互に打てるようにします。相手の石を挟んでいる場所は、自分の石に取り替えます。マクロVBAでオセロ(リバーシ)を作っていきながらマクロVBAを学ぶ第7回です。前回までで、黒石白石を交互に打つことができるようになりましたが、まだまた不都合な点があります。そもそも、どっちが勝っているのかもわからない......No8.石を置ける場所の表示とアニメーションExcelマクロVBAでオセロ(リバーシ)を作っていきながらマクロVBAを学ぶ第8回です。前回までで大分ゲームらしくなってきました。PC対戦の機能を入れたいところですが、今回は、はPC対戦の機能を入れる前に、気になる細かい部分を変更しておきます。No9.PC対戦の実装ExcelマクロVBAでオセロ(リバーシ)を作っていきながらマクロVBAを学ぶ第9回です。前回までで人が打つのであれば不自由のない機能が実装できたと思います。ここからはPC対戦の機能を入れていきます。No10.置く場所に重みを付けて少しだけ強くExcelマクロVBAでオセロ(リバーシ)を作っていきながらマクロVBAを学ぶ第10回です。前回は、PCが自動で打つ機能を実装しました。強さはともかく、とにかくPCが勝手に売ってくれるようになりました。No11.相手の応手を評価してさらに強くマクロVBAでオセロ(リバーシ)を作っていきながらマクロVBAを学ぶ第11回です。前回の石を置く場所に重みを付けることで、超々初心者なら勝てるかもしれないというレベルにはなりました。今回は、自分の打つ場所ではなく、No12.PC対PCの対戦で強さを確認ExcelマクロVBAでオセロ(リバーシ)を作っていきながらマクロVBAを学ぶ第12回です。前回は、相手の応手を判定して、自分の置く場所を決められるようにしました。オセロソフトとしては、そこそこの強さになりました。No13.パラメーターと重みを調整してさらに強くExcelマクロVBAでオセロ(リバーシ)を作っていきながらマクロVBAを学ぶ第12回です。前回は、PC1からPC5までの5段階の状態で、総当り対戦で強さを判定しましたが、PC5が最も強い事が確認出来ました。それでもPC5では、まだまだ、ある程度オセロをやった事のある人には勝てないレベルです。No14.やはり「待った」が欲しいExcelマクロVBAでオセロ(リバーシ)を作っていきながらマクロVBAを学ぶ第14回です。前回で、6段階の強さのPCオセロが完成しました、一番強いPC6でも、まだまだそれほどの強さとは言えませんが、初心者の人なら苦戦するでしょうし、私も油断すれば負けてしまうくらいの強さにはなっています。No15.棋譜で対局を再現ExcelマクロVBAでオセロ(リバーシ)を作っていきながらマクロVBAを学ぶ第15回です。棋譜が扱えるようになり、「待った」の実装も出来ました。棋譜が扱えるようになったので、今回は、対局を再現できるようにします。No16.これまでを振り返りつつ全体のまとめExcelマクロVBAでオセロ(リバーシ)を作っていきながらマクロVBAを学ぶ第16回です。15回に渡って、オセロ作成をしてきました、マクロVBAコードはかなりの量になっています。今回は最終回として、これまでを振り返ってみます。Next)|VBA入門5.ひらがな⇔カタカナの変換|エクセル基本操作6.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門7.マクロって何?VBAって何?|VBA入門8.Excelショートカットキー一覧|Excelリファレンス9.並べ替え(Sort)|VBA入門10.エクセルVBAでのシート指定方法|VBA技術解説ホームマクロVBA応用編マクロVBAサンプル集オセロを作りながらマクロVBAを学ぼうNo7このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。間違いやご指摘がありましたら、「お問い合わせ」からお知らせいただけると幸いです。掲載のVBAコードは動作を保証するものではなく、あくまでVBA学習のサンプルとして掲載しています。掲載のVBAコードは自己責任でご使用ください。万一データ破損等の損害が発生しても責任は負いません。アクセスランキングサイトマップ事業案内お問い合わせホームマクロVBA応用編マクロVBAサンプル集オセロを作りながらマクロVBAを学ぼうNo7このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。新着記事アクセスランクおすすめ関連記事WorksheetFunctionOffsetプロパティNo8へ続きます。