1. ホーム
  2. excel

[解決済み] vbaのdimとsetの違いは何ですか?

2023-03-29 20:56:24

質問

VBAの初心者で申し訳ありません。

時々、私は

Dim r as Range
r = Range("A1")

その他に、私は

Set r = Range("A1")

何が違うのでしょうか?また、いつ何を使えばいいのでしょうか?

どのように解決するのですか?

を使用する理由はありません。 set を使う理由はありません。 そのような場合にのみ使用するのが良い方法です。 他のすべての単純なデータ型には、単に代入演算子を使えばいい。 それは dim (次元)すべての変数を使用することをお勧めします。

単純なデータ型の例としては integer , long , boolean , string . これらは単なるデータ型であり、独自のメソッドやプロパティは持っていません。

Dim i as Integer
i = 5

Dim myWord as String
myWord = "Whatever I want"

の例 objectRange , a Worksheet または Workbook . これらには独自のメソッドとプロパティがあります。

Dim myRange as Range
Set myRange = Sheet1.Range("A1")

もし、最後の行を Set を付けずに使うと、VBはエラーを投げるでしょう。今、あなたは object が宣言されたので、そのプロパティとメソッドにアクセスすることができます。

myString = myRange.Value