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

例如:PrivateSubCommandButton2_Click()Range("A1").SelectSheets("Sheet3").SelectRange("B6... 例如:
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做切换的时候有问题!
展开
 我来答
小星星教育知识分享
高粉答主

2019-12-10 · 用教师的智慧点燃学生的智慧火花
小星星教育知识分享
采纳数:202 获赞数:67136

向TA提问 私信TA
展开全部

需要勾选信任VBA。

解决这个问题的方法如下:

1、先打开电脑上面的excel,然后点击左上角的文件。

2、之后选择弹窗中的选项;

3、然后点击信任中心;

4、之后点击信任中心设置;

5、然后点击宏设置;

6、之后点击勾选上信任对VBA工程对象模型的访问,之后点击确定就可以解决这个问题了。

百度网友5311d79
推荐于2018-03-14 · TA获得超过1.9万个赞
知道大有可为答主
回答量:6356
采纳率:71%
帮助的人:3217万
展开全部
你的按钮是在哪个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
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
晋访7V
2009-10-28 · TA获得超过1398个赞
知道小有建树答主
回答量:717
采纳率:100%
帮助的人:537万
展开全部
看了,试了,你的代码没问题呀
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式