为什么我无法设置这个范围?

为什么我无法设置这个范围?

我正在尝试在 VBA 中定义一个范围,但由于某种原因,我的方法失败了。在下面的代码示例中,前两行有效,但最后一行失败并显示消息“对象“_Worksheet”的方法“Range”失败“:

Set c = Parametre.Range("B2")
Set c = Parametre.Range("XFD2").End(xlToLeft)
Set c = Range(Parametre.Range("B2"), Parametre.Range("XFD2").End(xlToLeft))

我检查过该工作表没有受到保护,第二个参数位于第一个参数的右侧(它是 L2),目前我非常困惑为什么我的方法会失败。如果您能提供任何有关问题的信息,我将不胜感激。

答案1

您似乎错过了 Parameter 对象,因此它将默认返回 Worksheet,并因此失败。尝试使用以下代码:

Set c = Parametre.Range(Parametre.Range("B2"), Parametre.Range("XFD2").End(xlToLeft))

或者如果你想编写更干净的代码,请使用以下命令:

with Parametre
    Set c = .Range("B2")
    Set c = .Range("XFD2").End(xlToLeft)
    Set c = .Range(.Range("B2"), .Range("XFD2").End(xlToLeft))
end with

相关内容