参考表名称移动到下一张表

我有顺序选项卡( 1100 )。 我需要代码在标签之间顺序移动。 但是,代码必须引用标签名称(例如, 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