Excel VBA获取当前后的下一个工作表的名称

时间:2016-09-19 05:14:01

标签: excel vba excel-vba macros

在Excel VBA中是否有办法获取ActiveSheet之后的下一张表的名称?

例如,让我们假设我的电子表格有4张,我想创建一个宏,该宏在当前工作表(本例中为Sheet1)中插入下一个电子表格的名称({{ 1}})。像这样:

enter image description here

2 个答案:

答案 0 :(得分:2)

Activesheet.Index将为您提供活动工作表的位置,所以:

ActiveSheet.Range("A1")= ActiveSheet.Parent.Sheets(Activesheet.Index + 1).Name

您应该添加一个检查,表明活动表不是最后一个......

答案 1 :(得分:1)

这里只是一点点样本。

Dim sh As Worksheet, shprv As Worksheet, shnext As Worksheet
//make sure that use "as Worksheet" after every variable you declare

Set sh = ActiveSheet     //always use "Set" before since these variables are "Object type", only by this their values can be set correctly
Set shprv = sh.Previous
Set shnext = sh.Next

在这种情况下,sh的值将为Sheet1,如您给出的图片,
shnext的值为Sheet2 但是shprv没有任何价值,因为Sheet1之前没有工作表。