我希望这不是之前提出的问题。而且我真的希望有什么不对的,我不只是错过了一些东西......
我在Excel 2007中创建一个宏来清除工作簿中的输入范围。我正在使用CommandButton启动它,程序在一个模块中。使用如下语法:
Worksheets("Interview").Range("D6:D17").ClearContents
工作得很好。但是,如果我尝试在同一张纸上选择或激活一个范围而不先选择纸张,我会得到:
错误1004(选择Range类的方法失败)
以下内容无法选择范围
Worksheets("Interview").Range("B17").Select
(除非在选择表格后)
或
Worksheets("Interview").Select
Range("B17").Select
With Worksheets("Interview")
.Range("B17").Select
End With
使其工作的唯一方法是选择工作表,然后使用完整语句选择范围。像这样:
Worksheets("Interview").Select
Worksheets("Interview").Range("B17").Select
我很困惑。我希望不是因为我累了......
我希望我已经足够清楚并且正确地使用了代码标签和块等......
答案 0 :(得分:1)
我会举一个例子&希望能帮助到你。
考虑一个有3个房间(房间1,房间2和房间3)的房子。 每个房间都有风扇和风扇的开关板。光在里面。
现在
要打开/关闭房间1的灯光,您可以按下房间1中的按钮(您必须在房间1中按下按钮)。
要打开/关闭房间2的灯光,您可以按下房间2中的按钮(您必须在房间2中按下按钮)。
要打开/关闭3号房间的灯光,你可以按下3号房间的按钮(你必须在3号房间按下按钮)。
如果您在1号房间,则无法开启/关闭room2或room3的灯光。
当你在Worksheets("Interview")
&只有你可以选择范围。
答案 1 :(得分:0)
Application.GoTo Sheets("Interview").Range("b17")
应该工作
答案 2 :(得分:0)
我在excel 2010上对它进行了测试,所有代码都有效且有效。 无论您使用的是哪种版本的Excel,都不应该首先选择任何内容。 我建议在工作表(" Interview")前加上这本工作书的前缀,例如thisworkbook.worksheets(" Interview")
通过这种方式,您可以确定是否打开了多个工作簿,并尝试在正确的工作簿中选择正确的工作表。