マクロを学ぶなら5つのパーツから始める

Excelマクロ

5つのパーツを知る

こんにちは!JIMOVEの山口です。

私自身は2016年より、Udemyなどのオンライン講座でVBAの初心者コースを展開していますが、最初にお伝えしているのは、VBAには5つのパーツがあるので、その5つのパーツを組み合わせ方を知ることが大切です、というお話をします。

その5つパーツをいかに組み合わせるか、その記載方法は、国語の辞書を調べるように、これはどういった内容のものを使えばよいか?ということを考えれば、覚えていなくても使うことができます。

5つのパーツとは、下記のものです。
オブジェクト
プロパティ
メソッド
関数
ステートメント

厳密にいうとステートメントは少し違う部分もありますが、このように表現をしておきます。

この5つのパーツをどのように組み合わせるかが重要です。

Excel操作に慣れてしまうとあまり意識をしませんが、セルに文字を入力する、だったり、シートをsheet2の右側に追加するなど、一つ一つの動作を考えて作業をしたはずです。

その作業を「このように動いてね!」と指示を出すためのプログラム言語がVBAです。余談ですが、本来はVB(Visual Basic)というプログラムで、Excelなどのアプリケーションに特化したものがVBA(Visual Basic for Applications)になります。

そして、このVBAを書いて、一通りの動きをするものをマクロと呼ぶわけです。

プログラムの考え方

一番よく使われるのは、オブジェクトで、ブック本体や、シートセルなどの動かす対象です。

そして、プロパティはセルにはいっているだったり、シートの名前などの詳細・状態です。

メソッドはブックを開くだったり、シートを追加するなどの動作です。

上記を見ていただいてわかる通り、基本的にはオブジェクトとプロパティオブジェクトとメソッドの組み合わせで利用します。

これさえ、わかればある程度、動かすことができ、簡単なものであれば、すぐにでもプログラム化することができます。

ここまで読まれていかがでしょうか?なんか見ていただいているあなたでもできる気がしませんか!?

難しいと思っていても内容がわかればそこまで難しいものではありません。

sheet1シートを選択する Sheets(“Sheets1”).Select

A1セルに「氏名」と入力する Range(“A1”).Value = “氏名”

このようなプログラムをいろいろと書くことによって、一つのマクロが完成します。

関数とステートメント

この2つについてはVBAが扱える方だけの特別なものです。

マクロを覚える際にはマクロの記録といったものを使うことがあるかもしれません。これは自身で行った動作を自動でExcelがVBAにしてくれる機能です。

ただ、限界があり、この関数とステートメントについては、作成してくれません。そのため、この2つか使いこなせるようになるとマクロ中級者に仲間入りできるわけです。

ここでいう関数はシート上で使う関数と異なり、VBA上で使う関数になります。実際にはシート上の関数と同じ記載、同じ動作をするものもあります。それ以外で、VBA専用の関数もあり、Instr関数(インエスティアール)といった指定した文字が何文字目にあるのか?を検索する関数です。

そのほかにもいろいろな関数があり、Format関数は、セルの表示の設定を指定することができ、「2022/1/1」であれば、これを「2022年1月1日」にしなさい、という指定をすることができます。

さらにステートメントは、ForステートメントやIFステートメントと呼ばれるものが有名ですが、Forステートメントは、繰り返し動作を行うことができるもので、たとえば2行目と同じ作業を3行目、4行目・・・としたい場合に、繰り返し回数を指定するだけで動作してくれるものとなります。

この5つをどう組み合わせるか?

ここまで話をして、関数、ステートメントは少し難しそうだな、と感じたかもしれません。

VBAについては、Excelの機能が多岐にわたるように、それに対応するVBAが存在します。そのため、すべてを覚えることは至難の業に近いです。

そのため、必要なところから、必要なだけ覚える、つまり、シート上の操作を覚えたいのであればシートに関わるVBAを学ぶ、ブックやフォルダなどの操作を覚えたいのであればブックやフォルダ操作に関するVBAを学ぶ、ということです。

最初に国語辞典のように、という話をしましたが、自分が知りたい情報をまずは調べて、搭載してみる、ということが私は近道と思っています。

ぜひいろいろと試してみてください。

コメント