ExcelVBAを使っていていくつか気になった点があったので、メモ程度にまとめておきます。
以前マクロを見ることがあり、変数が利用されていました。
そこでは変数を宣言するのに[Dim]を使うものや[Set]を利用したもの、
あるいは何も使わずに宣言されているものが混じっていたので一通り確認しておきます。
まずはサンプルソースと実行結果から
var1 = "いきなり変数名を書いて値を代入する"
Dim var2 As String
var2 = "先に「Dim」を利用して型を宣言する"
Dim var3 As Range
Set var3 = Range("A4")
Range("A1").Select
ActiveCell.FormulaR1C1 = "hello world"
Range("A2").Select
ActiveCell.FormulaR1C1 = var1
Range("A3").Select
ActiveCell.FormulaR1C1 = var2
var3.Select
ActiveCell.FormulaR1C1 = "「set」でオブジェクト変数にオブジェクトを格納する"
この通り簡単なvbaであればいきなり変数名の宣言・値の代入を行っても問題なく動作します。
[Dim]を利用することで任意の型を宣言することもできるので、
桁数の大きい数字や小数の計算を扱う場合は適切な型を宣言するようにしましょう。
そして疑問だった[Set]について。これはオブジェクト変数にオブジェクトを
代入するのに利用するものでした。オブジェクトを自然に扱うには少々慣れが必要ですが、
扱えればいろいろな処理がスムーズに記載できそうなので積極的に使っていきたいです。