Excelのボタンのしくみ。ボタンにはマクロが登録されている。

他の人がつくった Excel にあるボタンはどういったしくみになっているのか解説してみました。

Screenshot_1

押すと自動的に処理できるExcelのボタン

他の人がつくったExcelやメールで送られてきた Excel でこういったボタンを見たことはないでしょうか。

Screenshot_4

このボタンを押すと自動的に処理ができます。
Screenshot_5

 

事例では4月から3月までのシートの合計値をシート「集計」に集めているという処理です。
Screenshot_6

合計値の位置はそれぞれのシートによって異なります。
人がやったら、目で見て判断し、コピーして貼り付け・コピーして貼り付けと、やらなければいけません。

・このボタンを押せば 大丈夫です
・この処理をするときはこのボタンを押して
とだけいわれていることもあるかもしれません。

確かに便利ではあるのですが、このボタンのしくみを知っておいたほうがエラーに対応できる可能性も高まるので、好ましいでしょう。

ボタンにはマクロが登録されている

このボタンにはExcelマクロが登録されています。
Excelマクロとはプログラムを書いてExcelを自動処理するものです。
たとえばこのボタンを右クリックしてマクロの登録をクリックすればこのボタンに登録しているマクロ名が表示されます。

Screenshot_2

この事例ではshuukeiという名前のマクロが登録されているわけです。
そのまま編集ボタンを押すとプログラムが出てきます。

Screenshot_3
これは  VBE( Visual Basic Editor) といわれるExcelマクロを書くソフトです。

image
ボタンを押すと実行されるプログラムがここに書かれています 。
この VBE をExcelから開くこともでき、ショートカットキーはAlt+ F11です 。

プログラムの書き方は人によって変わりますし、コメント=緑色の文字をどのくらい入れるかというのも、その人次第です。
ただ、なんとなく眺めてどういうしくみになっているのかを雰囲気を掴むだけでも意味があります。

Excel マクロで何をやってるかを把握

Excelマクロで何をやってるかを把握するために、ちょっとずつそのプログラムを見ていきましょう
そうしないとそのExcelマクロでエラーが出たり使えなくなったりしたら手も足も出ません。
そして既存のマクロを見るということがマクロの勉強にもなります。
何をやってよくて、何をやっちゃだめなのかということをかんたんにまとめてみました。

キーワードの色を変える

まず、マクロのキーワードを目立つようにしてみましょう。
キーワードとはプログラムの中の重要な命令で、これを押さえておくと読みやすくはなります。
VBEのツール→オプションのエディターの設定で、キーワードをさがし色を変えてみましょう。Screenshot_8
おすすめは前景を白にして背景を青にするものです。

Screenshot_9
赤系の色を使うとエラーが出たときの赤と見間違えてしまいがちですので避けましょう。

F8で実行

ボタンを押すとこのプログラムをすべて実行するのですが、そうではなく VBE 上で F 8キーを押すと F8キーを押すたびに1行ずつプログラムが実行されます 。

プログラムが黄色くなり、この黄色の意味は「今からこの行を実行する」という意味です。Screenshot_10

この行ではセルの B1に数字を入力するというプログラムが書かれていますが、まだ実行はされていません。

Screenshot_11
もう1回 F8キーを押して実行するとセルに数字が入ります。

Screenshot_12

F8キーで1つずつプログラムを実行しているとプログラム上で何がやってるかがわかりやすくなりますので一度やってみましょう。
これをやったからといってプログラムが壊れることはありません。
ただし F8キーで実行するときはボタンがあるExcelシートで実行するようにしましょう。
そうしなければプログラムが正しく動かない場合があります。

Dimを探して変えてみる

Dimの後に付いてるものは、任意につける(好きに決められる)変数という名前です。
人によって付け方が変わります。Screenshot_9
たとえばこの事例ではShuukei_Cellという名前がついており、これを自分がわかりやすいように「貼り付け位置のセル」と日本語にしてもプログラムは問題なく動きます。

Screenshot_13
その代わりShuukei_cellをすべて変更しないとエラーが出ますので注意しましょう 。
こうやってDimの後の変数名を変えるだけでもプログラムの雰囲気は変わるものです 。

コメントを入れてみる

緑色の文字はコメントです。
これは行の頭にシングルコーテーションをつけると、緑色のコメントになり、Excelマクロ上は無視されます。
人間だけが見ることができるものです。
何かコメントを残して整理したいのであれば、それを付け加えてみましょう。
ただしそれぞれの行にコメントを付けなければいけませんので改行するときは次の行にもつけましょう。
また不要だと思うコメントはどんどん消して大丈夫です。

改行は原則OK

見やすくするために自分の感覚で、改行するのは大丈夫です。
ただしプログラムの途中で改行するのはエラーが出ますのでやめておきましょう。

Screenshot_15

RangeなのかCellsなのか

Excelのセルの指定には主に2つのパターンがあります。
セルA2を指定するのに、Range(“a2”)と書く場合もあればCells(2,1)と書く場合もあるのです。
どのパターンで書かれているかを確認しましょう。

 

いらないんじゃ?というものは消してみる

「このプログラムのこの部分っているのかな」と思うものは思い切って消してみましょう。
消してみて実行して、問題なく動けばそれは必要じゃなかったかもしれません。
なお VBEで実行するには F5キーです。
もちろん完全に消すと不安でしょうから、その場合は行の始めにシングルコーテーションをつけてコメントにします。Screenshot_16
うまく動かなかったら元に戻すこともかんたんです。
そうやって実験していきながらプログラムを覚えるというのも手ですし、私もやっていたことでした。

プログラミングは、言語ですので人によってクセはありますし、自分にあったものというのもありますので、究極的には自分で書くのがベストです。
ただ、その過程で、ボタンを見かけたりプログラムに触れることがあったりしたら中身を見てみるのもいい練習になります。
ただし、このプログラムを見れなくする方法もありますので、もしそうだったらその場合はあきらめめましょう。

今回の事例で使ったマクロを置いておきます。

EX-ITサンプル 複数シート集計マクロ.xlsm

なお、ボタンにマクロを登録する方法はこの記事にあります。
Excelマクロを実行する4つの方法。ショートカットキー・ボタン | EX-IT

 



■編集後記

ふと思い立って「部屋(うち)においでよ」という名作(私の中では)漫画を思い出し,Kindleで買ってみました。
こういうのは、当たり(その思い出のまま)、外れ(思い出のままにしておけばよかった)があるのですが、今回は当たりでした。
いい具合に記憶がうすれているのも楽しめる理由です。
20歳前後に読んだ漫画でした。

 

 

■昨日の「1日1新」
個別コンサルティングページ改善

 

■昨日の娘日記

「一緒に写真撮る」というと、喜ぶようになりました。
ピースは、もうちょっとですが。
チョキがうまくできず