自分以外がつくったExcelマクロを解読する方法2021年7月15日Excelマクロ・VBA入門Excelマクロを勉強するのに、自分以外がつくったものを解読するのはおすすめです。その方法をまとめてみました。自分以外がつくったExcelマクロの活用プログラミングを勉強するために、既存のものを読んでみるというのはいい練習になります。文章を書くことを勉強するために、文章を読むように。プログラミングも文章も、私が今でもやっていることです。・自分以外がつくったExcelマクロ・つくってもらったExcelマクロ・ネットや本にあるExcelマクロなどを解読して、勉強に活用してみましょう。オリジナルでつくってもらったときは、チャンスです。自分の事例にあったExcelマクロが手に入っているわけですから。理解しやすいものです。(個別コンサルティングではその場でオリジナルのマクロを書いてお渡しすることもやっています。セミナーでも質疑応答で可能な限り。)自分でプログラミングできるようになれば、効率化がより進みます。Excelマクロのコードを読み解く方法Excelマクロは、Excelファイルに入っています。そのExcelファイルで、Alt+F11を押してみましょう。このような画面が開くはずです。Editor)というマクロを書き、動かすソフトで、Officeについています。そこにコードが表示されるのですが、もし表示されていないときは、左側のメニューで、該当のファイルの[標準モジュール]を探し、Module1をダブルクリックしてみましょう。(ごくまれにパスワードがかかっていて、コードを見ることができない場合もあります)ここでキーワードというものを目立たせてみます。青色なのですが、もうちょっと目立たせた方が読み解くときに便利です。[エディターの設定]から[前景](フォントの色)、[背景)を設定します。このようになり、キーワードが目立つようになるのです。Subに注目しましょう。これが、Excelマクロの1つのくくりです。Subのあとにある、testは、名前。私はアルファベットでつけますが、日本語の場合も。次に注目したいのは、Dim。「定義する」という意味で、そのあとの、nは変数といわれるものです。nはなんでもよく、書き手が決めます。そのnがその後に出てくるはずです。nに1が入れば、1と処理し、2が入れば2と処理します。この変数の付け方は、書き手の好みやクセが反映されるものです。他人が書いたコードが読みにくい場合もあります。コードの中で、どれが変数で、どれが必須の構文なのかを確認しながら読み解いていきましょう。変数が読みにくかったら、自分で、このnをすべて変更すれば読みやすくなることも多いです。私は日本語の変数だと、読みにくく感じます。Stringというものがある場合も。いった指定をするものです。次に注目したいのは、繰り返しの構文。ない場合もありますが。△で、iが〇から△になるまでを繰り返しています。どこまで繰り返すかは、10や100と指定もできるのですが、データ数が毎回違う場合は、マクロで数えたほうが楽です。Rows.Count).End(xlUp).Rowを使っています。Loopを使っている場合もあり、好みです。使い分けている方もいらっしゃいますし、最初に習ったものをそのまま使っている場合もあります。いうパターンを使っているか、わからないものがあれば、そのキーワードでググってみるのもいいでしょう。繰り返しの中に、n=n+1とあったら、「1つずつ増やしている」と考えれば大丈夫です。この場合、最初は2行目を処理し、その次は、3、4、5、と1つずつ増やして処理をします。Excelの関数にもあるものです。これがあったら、何か条件で処理をわけているんだなと思っていただければ。全体像を把握してから、細部をみていきましょう。多くの場合、セルからセルに転記をしていることが多いです。△とあれば、〇に△を入れる、転記すると考えましょう。i).Valueで、nが2、iが2とすると、シート「freee」のセルD2に、シート「data」のセルB2を入れるという処理です。シートは、WorksheetsやSheets、セルは、RangeやCellsというパターンがあり、流派や好みのようなものと考えていただければ。読み解いていく中でわかったことは、コメントとして残すのもおすすめです。Shift+7)を入れれば、緑色になり、自由に文字を入れることができます。あるコメントを書き直してもかまいません。シングルコーテーションをつけずに、文字を入れると、マクロを実行したときにエラーが出ます。Excelマクロの動作を確認する方法Excelマクロを動かしてみるのもおすすめです。Excel側にこういったボタンがあることもあります。その場合は、こちらの記事を参考にしていただければ。Excelのボタンのしくみ。ボタンにはマクロが登録されている。通常は、VBE上で、F5キーを押せばすべてのマクロを実行できます。F8キーなら、1行ずつ実行できるのです。実行して、Excel側の動きを見ながら、読み解いていきましょう。黄色に部分が、「これから実行する」ものです。シート「freee」のセルD2に、シート「data」のセルB2を入れるという処理で、「これから実行する」ので、まだ、シート「freee」には何も入っていません。F8キーを押し、1行実行すると、このように、セルD2へ転記されます。このとき、カーソルを変数のnやiにあててみると、その中に入っている数値がわかるので、確認してみましょう。F8キーですすめていくと、これが3、4、5......と変わっていくのわかるはずです。こんな感じで動かしてみて、「これっていらないんじゃないか?」と消してみたり、「こうしたほうがいいんじゃないか」とコードを変えてみたりしてみましょう。既存のものが正しい、神というわけではありません。プログラミングに限らず、既存のソフトも同様です。自分なりの工夫をしたり、好みを反映したりしていきましょう。コードを見ながら最初から書いてみるのも、もちろんおすすめです。Excelマクロをはじめとするプログラミングは、言語であり文章。自分なりのものがあるはずです。書き手になりましょう。午前中に個別コンサルティング。午後は、講座、セミナーの準備を中心に。夕方プールで泳いだら眠くて、帰宅後ちょっと仮眠......。体力がもとに戻っていない感じです。LILIES■娘(4歳4ヶ月)日記→Kindle『娘日記』セミを探すのが好きなのですが、昨日は鳴いていませんでした。「パパと一緒で、昨日眠れなくて、また寝てるんじゃない」と。昨日は、変な時間に起きてしまい、7時からちょっと寝てたのです。セミもおんなじだと......。時間とお金のバランスをとり、独立後を楽しんでいただくべく、IT・発信による効率化、時間・お金のノウハウを提供している。『税理士のためのRPA入門』『やってはいけないExcel』など39冊。日課は1日1新、ブログ。