VBAの基本文法

突然ですが、例えば喋る時や文字を書く時、英語などでも文法って学校行ってた頃に散々先生達からよく言われたと思います。笑
VBAでも日本語や英語等の様にパソコンに対しての文法があるのです。

人間同士なら予想しあったり感情で伝えることが出来ますが、パソコンを相手にした時にはそうはいきません。
パソコンではあらかじめ言語を作った人達によって文法が決められており、その文法から外れてしまうとエラーという形で「伝わりませんよ~」と返ってくるのです。

ではその文法から外れない為にも簡単にですが、基本的な文法を2つ紹介したいと思います。

例)Range("A1").Value = "ここに文字を入れてね?"

上記の例の様にコードを書いて実行するとExcelのA1のセルに「ここに文字を入れてね?」と文字が入力されます。
このコードを日本語でわかりやすく訳すとA1のセルのここに文字を入れてね?にしてね」という意味になります。

このオレンジの文字の部分オブジェクトと呼ばれるもので、実際に人間が操作するもの、例えばA1のセルもそうですし、ここで紹介してるようにIEの操作をする時のIE本体だったりもオブジェクトと呼ばれます。
イメージとしては既存の箱パーツのようなものです。

次の緑の文字の部分プロパティメソッドという部分になります。
このプロパティメソッドはオレンジのオブジェクトに対しての動作や情報等になります。
例えば今回のValueで言うと、A1のセルというオブジェクトのがプロパティになります。

次の赤の文字の部分演算子と呼ばれ、数学で使うような「+-*/=」等の記号が入ります。
今回の場合は、上記リンクの代入演算子の部分にある「=」で「右を左に入れる」という動作をしています。
他にもIfステートメント等では不等号(<>)等も使うことがあります。

最後に水色の文字の部分代入される値になります。
Ifステートメントの時は左に対する条件になりますし、変数の代入の時には代入される値になるように、この部分は必要に必要に応じて変わります。

例えば【If Range("A1").Value = Range("B1").Value Then】と書いた場合、水色の部分は上記のオレンジと緑の部分と同じ文法になります。
この様に水色の部分は左に対する物なので、内容が変わる部分になります。

まとめるとオブジェクト.プロパティorメソッドという文法が出来上がります。
赤の部分や水色の部分はステートメント等によって必要がない場合もありますので、まずは上記の形を覚えてください。

上記の様にたった2つのポイントだけがVBAの文法になります。
英語とかみたいに「~は~で~・・・」みたいに長々と覚える必要がないので簡単ですよね?笑

ただし、IEの操作をする時やシートやブックの操作が入る時等はオブジェクトが複数になることがあります。

例)Workbooks("sample.xlsm").Worksheets("sample").Range("A1").Value

上記の様に「sample.xlsmというブックのsampleというシートのセルA1」というように【オブジェクトのオブジェクトのオブジェクトのプロパティ】という文法になります。

これもまとめてしまうと「3つのオブジェクトのプロパティ」ということなので、「オブジェクト.プロパティ」という言い方も出来てしまうので、基本としてオブジェクト.プロパティを覚えておいてください。
また、この事を意識してこれからのコードを見ていくと、「どういうものをどう動かしているか」という事が理解しやすくなると思います。