作者:扶我起来我要写代码 | 来源:互联网 | 2022-12-01 14:19
答案取决于你得到的错误.可能有两个问题:
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")
...只是通过不同的名称访问完全相同的工作表.所以最好在这里使用有意义的名字(而不是数字),以免混淆.