/ /文字列を名前付き範囲が参照するものと等しくしますか? --vba、excel-vba、excel

名前付き範囲が参照するものと同じ文字列を作成しますか - vba、excel-vba、excel

tempPrintAreaという名前の範囲があります = "A1:J59"を指します VBAで作成し、スコープがローカルになりました。スコープが重要かどうかはわかりません。

この行を使用して、名前付き範囲を作成しました。

wks.Names.Add Name:="tempPrintArea", RefersTo:="A1:J59"

次に、文字列の値を「A1:J59」に設定します。私は次のことを試しました:

Dim test As String
test = Range("tempPrintArea").RefersTo

しかし、オブジェクト「_Gloabl」からメソッド「Range」が失敗したというエラーメッセージが表示されます

これを機能させるために、これらのコード行で何を変更できますか?

回答:

回答№1は2

「使うとき」

wks.Names.Add Name:="tempPrintArea", RefersTo:="A1:J59"

コードは名前付き範囲を作成しません 言及するA1:J59、代わりにコードは名前付き範囲を作成します テキスト "A1:J59".

ここに画像の説明を入力

名前付き範囲を作成するには、代わりにこれを使用します。

wks.Names.Add Name:="tempPrintArea", RefersTo:=wks.Range("A1:J59")

その後

Dim test As String
test = wks.Range("tempPrintArea").Address(False, False) " returns A1:J59