在Excel VBA中是否有办法获取ActiveSheet
之后的下一张表的名称?
例如,让我们假设我的电子表格有4张,我想创建一个宏,该宏在当前工作表(本例中为Sheet1
)中插入下一个电子表格的名称({{ 1}})。像这样:
答案 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
之前没有工作表。