![見出し画像](https://assets.st-note.com/production/uploads/images/38062576/rectangle_large_type_2_67461a1eee30b28656bfe256eda60899.png?width=1200)
Photo by
peishum
Excel VBA スタンダード 合格への道のり①
エクセルについてSUM関数くらいしか知らない僕が、VBAをマスターしていく記録を残していきます。
誰かの参考になればいいなって思います。
マクロの基本
マグロではありません、マクロです。
マクロはExcel上のプログラミング言語のようなものみたい。
その中での基本はプロシージャーに処理内容が書かれる。
Sub hogehoge()
処理内容
End Sub
みたいなのが基本。
プロシージャーは普通1つずつ実行される。
他のプロシージャーを呼ぶときはCallを使う。
Sub hogehoge1()
処理内容
Call hogehoge2
End Sub
Sub hogehoge2()
処理内容
End Sub
変数もプロシージャーの中に定義できるみたい。
ただし、プロシージャーの中で定義した変数はその中でしか使えない。
Sub hogehoge1()
Dim A As Long
A = 100
// 上の2文で変数Aを定義して、その中に100を代入//
Range(“A1”) = A
End Sub
————————————————————
Sub hogehoge2()
処理内容
Range(“B1”) = A * 2
//変数Aは使えないからエラーが出る//
End Sub
でも、プロシージャーの外で変数を宣言するモジュールレベル変数を使えば、全てのプロシージャーで変数を使うことができるようになる。
Dim A As Long
Sub hogehoge1()
A = 100
Range(“A1”) = A
End Sub
————————————————————
Sub hogehoge2()
Range(“B1”) = A * 2
//Aはモジュールレベル変数だからここでも使える//
End Sub
まとめ
マクロ
Excel内のプログラミング言語
プロシージャー
処理内容を書く所
Sub 名前()
処理内容
End Sub
変数
数字や文字列を入れるための入れ物
プロシージャーの中で定義した変数は、その中でしか使えない
ただし、モジュールレベル変数なら全てのプロシージャーで使える