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