使一个字符串等于命名范围所指的字符串?

时间:2014-04-11 12:06:17

标签: 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

但我收到错误消息Method' Range'出于对象' _Gloabl'失败

我可以在这些代码行中更改哪些内容以使其正常工作?

1 个答案:

答案 0 :(得分:2)

当您使用

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

代码不会创建引用A1:J59的命名范围,而代码会使用 text "A1:J59"创建命名范围。

enter image description here

要创建命名范围,请改用:

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

然后

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