突然だが、こいつを見てくれ。こいつをどう思う?
何かいきなり長ったらしくなっていますが、
これは私がマクロを作成する際、まず記述する一連の流れです。
いわゆる「テンプレート」ですかね。
○変数の宣言
Dim 変数名 As 変数の種類
私がよく使うのは「ブック」「シート」「セル範囲」「数値型」です。
その他に「文字列型(String)」も使っているかな。
○変数の初期化
Set 変数名 = 変数の対象
「ThisWorkbook」というのは、マクロを記述しているExcelを指定する記述です。
今開いているExcelを指定する「ActiveWorkbook」という記述もあります。
「Worksheets()」でワークシートを具体的に指定します。
上記例のように数値で指定してもいいですが、
「Worksheets("testSheet")」と、シート名を明記する指定方法もあります。
testNumberのみ「set =」の記述がないことにお気づきだろうか・・
intやstringなどのデータ型はsetはいらないんですね。
そうなると全てを「変数名」と書いてはいけないでしょうが;
今でもこの辺りはちょくちょくエラーに引っかかります。
○メモリの解放
Set 変数名 = nothing
setしたものは最後にnothingとして後片付けをしておきましょう。
小さなマクロであれば気にする必要はないのですが、
チリも積もれば・・です。書いておくクセをつけておきましょう。
ちなみにsetしていないtestNumberはこの処理は必要ありません。
どうでしょう?
大分プログラムっぽくなってきましたね。
以前にご紹介した「Msgbox」と組み合わせると、色々試すことができます。
Sub test2()
Msgbox ThisWorkbook.Worksheets(1).range("A1").value
End Sub
一行にまとめてしまいましたが、
「このExcelブック」の「1枚目のシート」の「A1セル」の「値」を「出力する」
というマクロです。
シートやセル範囲を変えてみたり、
セルの内容を別のセルに代入してみたりして遊んでみて下さい。


