参考表名称移动到下一张表
我有顺序选项卡( 1
至100
)。 我需要代码在标签之间顺序移动。 但是,代码必须引用标签名称(例如, 4
等),因为稍后会创build标签。 我到目前为止:
Sub Next_Page() Sheets(ActiveSheet.Name + 1).Visible = True Sheets(ActiveSheet.Name + 1).Activate End Sub
它引用工作簿中的第二个ActiveSheet,而不是标题为2
的选项卡。 为了使事情更混乱,如果我有这个返回代码在一个消息框,而不是我得到2
。 没有引号,这是结果。
工作表可以通过其Worksheet.Name属性或其Worksheet.Index属性 (以及其他)引用。
.Name属性总是一个string; 即使该string看起来像一个数字或date。 .Index属性始终是1和工作簿中的工作表数量(例如Worksheets.Count属性 )之间的真实数字。
您向ActiveSheet的名称添加1的方法是将看起来像数字的string转换为实际的真实数字。 您需要将其转换回string。
Sub Next_Page() Sheets(CStr(ActiveSheet.Name + 1)).Visible = True Sheets(CStr(ActiveSheet.Name + 1)).Activate End Sub
你的代码毫无疑问已经被简化了,但是我build议把一些检查以确保Sheets(CStr(ActiveSheet.Name + 1))
存在,如果你已经在工作表4上了,因为没有工作表命名为5 。