将字符串传递到 VBA 中的范围函数

Pass string into Range Function in VBA

我正在尝试在函数中创建一个范围,但范围有所不同,所以我打算将定义作为字符串传递,但我 运行 出错了,因为它说 "Expected an array".所以,我认为这是因为没有包含双引号,所以我试图通过加倍双引号将它们包含在字符串中,但现在 VBA 说我在该字符串中有一个无效字符(即第一个美元符号)。我真的很困惑如何解决这个问题。任何帮助将不胜感激。

gRange = ""$A:$F""

每当我在 VBA 中遇到字符串中有额外引号的问题时,我总是退而求其次使用 Chr(34) 来替换。

gRange = Chr(34) & "$A:$F" & Chr(34)

Chr() MSDN Reference

我找到了一个使用 if 语句的解决方案,如下所示:

If sheetName = "Totals" Then
ChartData.ActiveSheet.ListObjects("Table1").Resize Range("$A:$F")
Else
ChartData.ActiveSheet.ListObjects("Table1").Resize Range("$A:$G")
End If

而不是使用字符串。