热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

使用属性ExcelVBA无效

如何解决《使用属性ExcelVBA无效》经验,为你挑选了1个好方法。

答案取决于你得到的错误.可能有两个问题:

1.未指定工作簿

您有多个工作簿,Excel正在查找名为"Sheet1"的工作表的错误工作簿,然后您需要指定工作簿.

Workbooks("my-workbook").Worksheets("Sheet1").Range("A1").Value = 20

或者如果它在运行代码的工作簿中,最好使用它

ThisWorkbook.Worksheets("Sheet1").Range("A1").Value = 20

请注意,您应该避免ActiveWorkbook哪个不太可靠.

2.错误的工作表名称

没有名为的工作表Sheet1.检查您的工作表名称.请注意,指定工作表的方法有很多种.

按编号指定

Worksheets(1).Range("A1")

这使用工作表下方标签栏中工作表的位置.请注意,这不是很可靠,因为可以通过移动标签来轻松更改位置.

按选项卡名称指定

Worksheets("Sheet1").Range("A1")

这可能是最常用的方法.工作表由其选项卡名称指定.这比数字更可靠.

按VBA名称指定

Sheet1.Range("A1")

这里使用了工作表的VBA名称.此名称只能在VB编辑器中更改,并且对用户不可见,并且与选项卡名称无关.使用此选项可确保即使用户更改工作表的选项卡名称,VBA代码仍可在所需的工作表上运行.

因此,如果选项卡名称是Sheet1其VBA名称Sheet5,则它可以3位于选项卡栏中.
使用这个例子......

Worksheets("Sheet1").Range("A1")
Sheet5.Range("A1")
Worksheets(3).Range("A1")

...只是通过不同的名称访问完全相同的工作表.所以最好在这里使用有意义的名字(而不是数字),以免混淆.



1> Pᴇʜ..:

答案取决于你得到的错误.可能有两个问题:

1.未指定工作簿

您有多个工作簿,Excel正在查找名为"Sheet1"的工作表的错误工作簿,然后您需要指定工作簿.

Workbooks("my-workbook").Worksheets("Sheet1").Range("A1").Value = 20

或者如果它在运行代码的工作簿中,最好使用它

ThisWorkbook.Worksheets("Sheet1").Range("A1").Value = 20

请注意,您应该避免ActiveWorkbook哪个不太可靠.

2.错误的工作表名称

没有名为的工作表Sheet1.检查您的工作表名称.请注意,指定工作表的方法有很多种.

按编号指定

Worksheets(1).Range("A1")

这使用工作表下方标签栏中工作表的位置.请注意,这不是很可靠,因为可以通过移动标签来轻松更改位置.

按选项卡名称指定

Worksheets("Sheet1").Range("A1")

这可能是最常用的方法.工作表由其选项卡名称指定.这比数字更可靠.

按VBA名称指定

Sheet1.Range("A1")

这里使用了工作表的VBA名称.此名称只能在VB编辑器中更改,并且对用户不可见,并且与选项卡名称无关.使用此选项可确保即使用户更改工作表的选项卡名称,VBA代码仍可在所需的工作表上运行.

因此,如果选项卡名称是Sheet1其VBA名称Sheet5,则它可以3位于选项卡栏中.
使用这个例子......

Worksheets("Sheet1").Range("A1")
Sheet5.Range("A1")
Worksheets(3).Range("A1")

...只是通过不同的名称访问完全相同的工作表.所以最好在这里使用有意义的名字(而不是数字),以免混淆.


推荐阅读
author-avatar
扶我起来我要写代码
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有