早速、Excel VBAを使っていく

はじめに
前回の記事で、iMacにExcelをインストールすることが出来た。
この記事では、早速、Excel VBAを使っていこうと思う。
懸念点は、どうやって学んでいくのかということと、どのようなシステムを開発するかだ。
どうやって学んでいくのかという点については、以前書いた記事で、ふりがなプログラミングを使用した学びを行ったことを報告した。
素養はある。
一方、どのようなシステムを開発するかについては、未知数だ。
どうしようか。
ネットサーフィンで、解を得よう。
VBAとは
Excelの開発タブに「Visual Basic」がある。
これをクリックしてみると、以下の画面が表示された。

これがVBAだ。
とりあえず練習問題を解いてみる

こちらのサイトの練習問題を解いていくことにする。
基礎はもう分かっているため。
忘れている部分は、キャッチアップできるはす。
自分を信じている。
演習ファイルをダウンロードすると「マクロを無効にしますか?」との表示が

さっきのサイトを信頼しているので、「マクロを有効にする」をクリックした。
そして、演習ファイルを開くことが出来た。

データの転記処理の問題を解いていく

例題1に取り組んでいく。
以下の表の上からC列からH列までの5行目(セルの8〜12行目)までを

K列以降の売り上げ管理表に転記するプログラム

せっかくなので、答えを見ずに、Googleで検索しながら解いていく。
昔、札幌に住んでいた時に、札幌駅のスタバで、受験生が友達に向けて、こう話していた。
「お前さ〜、答えは見たらダメだって。答えを見ずに自力で解くから力が付くんだよ」
当時は、答えを見て知識を暗記するのも勉強法としてありなのでは?と思っていた。
しかし、その受験生が言うように、答えを見ずに、知識を踏まえた上で、自分の頭で考えて、回答を導き出すことは重要だ。
というわけで、この問題は、答えを見ずに解いていく。
Visual Basicの画面を開いたものの、ここから何をすればいいのか?

開発タブのVisual Basicをクリックして、以下の画面を開いた。

ここからどうすればいいのでしょうか?
とりあえず基本の形を書いていこう
思考停止しても仕方がない。
まずは、基本の形を書いていく。
「VBA 基本の書き方」で検索をかける。

このページで基本の形を書いていく。
最初はこの画面。

Option Explicitと書いてある。
sub 練習1と入力して、Enterを押すと、以下のようになった。

Sub から End Subまでにマクロの処理を書いていけばいい。
ここに書くマクロをVBAでは、プロシージャーと呼ぶ。
Tabキーを一回押して、インデントを開けた。

Range(“L8”)に「おはよう!」と入力する処理を書いた。

L8は、売上管理表の一番最初の従業員IDのセルだ。

そして、基本の処理を実行してみる
こちらのページを参考にして、先ほど書いた処理を実行していく。
この画面を開いた状態で、ショートカットキーのF5をクリックした。

そうすると、L8に「おはよう!」と入力されているのが確認できた。

先ほどの問題を解いていく
基礎が分かったところで、先ほどの問題を解いていこう。

プロシージャーの名前を「データの転記処理」に変更して、処理を書いていく。

以下の表の上からC列からH列までの5行目(セルの8〜12行目)までが選択範囲となる。

そのため、Rangeを以下のように指定した。

いや、これだと、もともとデータが入力してある箇所に「おはよう!」が上書きされてしまう。
現場でこれをやってしまったら、迷惑だ。
ここでやりたいことは、これらのデータをコピーすること。
「VBA コピー」で検索してみる。

こちらのページで以下の記述を発見した。

これを活用していこう。
転記先の売上管理表はこちら。

以下の記述でいいかと思われる。

F5をクリックすると、以下のモーダルが表示された。

データの転記処理を選択して、実行を押す。
無事、データの転記を行うことが出来た。

答え合わせ

実行結果と等しいので、正解!
解答のプロセスは異なっていた。

こちらは、Valueを使っているので、要学習と思われる。
コメントを残す