このコーナーではエクセルマクロ/VBAにて作成したゲームを楽しみながら「マクロ/VBAの学習を無理なく」そして「挫折することなく」学習しながら、同時にプログラミングにも強くなりましょう!
使用して頂くゲームは2千万人が学ぶKids学習用プログラミングゲームを参考にしつつ、斬新な工夫も加えています
ぜひ、お子様とゲームを楽しみながら有意義に勉強していきましょう!
*コード詳細表示のシートでチェックを外すと通常のゲーム機能だけになります

エクセルマクロ/VBAを覚えると、相当な業務削減の効果が見込めます!
「でも、マクロ/VBAは難しそう・・・」
もし、そんな風にマクロ/VBAの学習をはじめることを躊躇している方は、ぜひこのゲームで楽しみながら「慣れ」を作ってみて下さい
私は47歳からVBAを始めました
SEとしてVBAを始めましたが、とにかく無理やり慣れました
但し、
慣れ方にも工夫の仕方があるのに気づきました
その気づきをまとめたのがこのゲームです
繰返し処理や条件分岐処理などのプログラミングの重要概念も学べるように工夫してあります
ゲームにはペンギンとオバケが登場します。ペンギンが迷路の中で壁にぶつからないように、事前に用意してあるコードを選択してオバケをつかまえられるようにしてください!
*めいろゲームは3部構成です

ところで、
何故、「エクセルの話にゲームが出てくるのか?」
その事についてはポイントが2点あります
1点目は、マクロ/VBAはコンピューターとのコミュニケーション言語である点です
2点目は、「英語映画の英語字幕」による学習についてです
まず1点目のマクロ/VBAが言語である点についてです
マクロ/VBAではコンピューターにコードで指示を出します

しかも、コンピューターに指示が的確に伝わるようにしなくてはなりません
「どのシート」の「どのセル範囲」の「何を」「どう変えるのか」
を正確にPCに伝えなくてはなりません
つまり、他のプログラミング言語も同様ですが、エクセルマクロ/も言語なのです
しかも、英語でコードを書きます
ですので、英語学習の要領でのマクロ/VBAの学習方法があってもいいのです
次に2点目、「英語映画の英語字幕」による学習についてです
これは英語の映画を、英語の字幕のまま見ながら学習する方法です
こちらは、映画の登場人物とスクリーンを介して疑似対話を行いながら、タイムリーに表示される英語字幕を通じて生きた英語が学べます
このゲームでは映画の字幕の代わりにコードが表示されます
通常のマクロだと一瞬で終了しますが、このゲームは違います
登場人物の動きに合わせて、コードを表示できます

ゲーム内の登場人物の動きに合わせてコードが表示されると、その意味合いを体感しやすくなります
今回、ゲーム内で表示されるコードについては、学習を始めやすいコードに絞ってあります
特に後述する「.」の使い方や「=」はこのゲームで慣れて頂きたいと思います
この「.」と「=」を使いこなすだけでもかなり効果が出ます
尚、
この記事では2つファイルが添付されています
ゲームの他に演習用ファイルがあります
演習用ファイルには、ゲームで出てくるコードが2つ書かれています
ぜひ、ご自身でコードを修正してみたりして、コードの動きを体感してみてください!
ゲームを楽しむ
前述の「めいろゲーム_1」をダウンロードしたら「めいろ1」のシートを選択してください
このシートではまず、コードをご自身で選択して設定します

選べるのは、ペンギンを右に1つ進めるか、下に1つ進めるか、だけです
コードを選択したら、下の画像の一番左にある「スタート」ボタンを押して下さい

もし、やり直す場合には、上の画像の真ん中にある「やりなおす」ボタンを押して下さい
ペンギンが動く際には、前述のように「.」、「=」を理解するためののコードが表示されます

特に、スタートボタンを押した後は、ユーザーフォームが表示されます
こちらは映画の再生を止めて「字幕」をじっくり確認するようなイメージになっています
Excel VBA超入門第1弾エクセルが自動で仕事する!マクロの魔法 文系・非IT職もできるプログラミング
ユーザーフォーム内のOKボタンをクリックした後に、コードが実行されるので「コードの動き」が実感し易い仕組みになっています

もし、ペンギンがオバケをつかまえるのに成功したら、カーソルの動きのみですが、全コードがまとめて表示されます

もし、コードを表示せずに純粋にゲームを楽しみたい場合には、下の画像の箇所のチェックを外すようにしてください

表示されるコードの概要解説
「.」について
コード内に出てくる「.」については、「の」と置き換えて理解してみてください
*ちなみに今の段階では、コードについては完全に覚える必要はありません
①セルの選択/カーソルをセルに置く
ActiveSheet.Range(“B4”).Select
こちらのコードは、↓のような感じで「意訳」してみてください
カーソルがあるSheet内 の 範囲/Range の 選択/Select
②1つカーソルを移動する
Selection.Offset(1,0).Select
こちらのコードは、↓のような感じで「意訳」してみてください
カーソルが選択してあるセル範囲/Selection の 別位置 の 選択/Select
Offset(1,0)の場合は1つ下に、Offset(0,1)の場合には1つ右に移動します
「=」について
「=」については左辺の内容を右辺の内容に変えると理解して見て下さい
こちらのコードについては別な機会に演習で実際に体験してみて頂きます
値を入力する
ActiveSheet.Range(“B4”).Value = ActiveSheet.Range(“N1”).Value
こちらのコードは、↓のような感じで「意訳」してみてください
カーソルが選択されているシート/ActiveSheet”の”B4セル”の”値/Valueを、カーソルが選択されているシート/ActiveSheet”の”N1セル”の”値/Valueに変える
演習
演習用ファイルで実際にご自身でコードを動かして、コードの動きを体感して見ましょう!
開発タブの設定
まだ開発タブを設定していない方は、まずは動画か、演習ファイルの解説シートを見てタブを設定してください

*開発タブの設定用動画(ファイルタブ➡オプション➡リボンのユーザー設定)
コードを動かしてみる
演習ファイルの演習1シートにカーソルを置いてください
次の画像のマクロボタンをクリックすると「Sample1」という文字が見えるはずです

Sample1の文字は次ような感じで見えているはずです

Sample1が選択されているのを確認したら、右にある実行ボタンを押して下さい

すると、上の画像のようにB5セルが「選択されている/カーソルが置かれている」はずです
マクロを実行してみた後は、コードの中味を実際に見て見ましょう!
コードの中味の確認
では、下の画像の「編集」をクリックして、コードの中味を見て見ましょう!

「編集」をクリックすると下の画像の内容が見えます

ここからはご自身で修正してみて、コードの動きを試してみて下さい
例えば、上の画像だと「Selection.Offset(1,0).Select」と入力されています
ですのでコードを実行すると、上のコードでB4セルを選択した後に、1つ下のセルに移動しています
この「Selection.Offset(1,0).Select」を「Selection.Offset(0,1).Select」と修正してみてください

すると、1つ目のコードで選択されたB4セルの一つ右隣りのC4セルが選択されているはずです
ちなみに、
下の画像のようにOFFSET関数は、通常の関数でもあります
=OFFSET(セル範囲,行指定,列指定)

この関数では、引数1番目で指定したセル範囲から行方向、もしくは列方向に移動した箇所を指定できますので、興味があれば試してみてください
なお、通常のエクセルシートに戻る際には、下の黄色につけた印の箇所をクリックしてください

<まとめ>
今回は、ゲームと演習ファイルを通じてVBAコードを体験して頂きました
マクロ/VBAの本質にこれから迫っていく「取っ掛かり」にはとてもいい内容だと思います
記事の冒頭でも述べましたが、マクロ/VBAはコンピューターとのコミュニケーションであり、的確に指示をコンピューターに伝えなくてはなりません
今回経験して頂いたコードには「どこの/どのセル範囲」を操作対象にして、その操作範囲の「何を」「どうするのか」というコンピューターへの「的確な指示」に必要な要素が端的に詰まっています
この「的確な指示」とは具体的にはどういうことか?ということについては、また別な記事で解説したいと思います
まずは、コードを動かしてみる事、そしてマクロ/VBAを楽しむことが重要です!
ちなみに、サンプルファイルは「.xlsm」になっている点にも注目して下さい
この拡張子「xlsm」のように、マクロ/VBAの場合には通常のエクセル作業とは違ったルールがあったりしますが、それは後々、解説していきます
!ストリート・アカデミーにてゲームを使ったマクロ/レッスンも行っています ➡詳細
にほんブログ村
コメントを残す