Excel VBA语言错误提示‘1004’ 类range的select 方法无效

来源:百度知道 编辑:UC知道 时间:2024/06/04 04:11:01
例如:
Private Sub CommandButton2_Click()
Range("A1").Select
Sheets("Sheet3").Select
Range("B6:D6").Select
ActiveWindow.SelectedSheets.PrintOut Copies:=3, Collate:=True
Sheets("Sheet2").Select
End Sub
如果用宏的话没问题,但要是要将其设置在“命令按钮”里的话就会有错误提示。错误点就在Sheet做切换的时候有问题!

你的按钮是在哪个Sheet里呢?
对于非按钮所在Sheet里的单元格引用,Range前面要加上所在的Sheet名,这样代码看起来也不容易混淆,如:
Sheets("Sheet3").Activate
Sheets("Sheet3").Range("B6:D6").Select

并且,如果你不需要界面显示真的切换到Sheet3,只是在后台对Sheet3单元格进行操作就可以的话,Sheets("Sheet3").Activate这句都可以不要,也节省了程序运行的时间。

如果每个Sheets里的操作较多的话,可以用With语句将对各个Sheet的操作分别集中到一处,这样看起来比较清楚,如:
With Sheets("Sheet3")
.Activate
.Range("B6:D6").Select
......
End With

With Sheets("Sheet2")
.Activate
......
End With

看了,试了,你的代码没问题呀