有時需要在工作表中引用同一工作簿中其他工作表名稱,當(dāng)工作表數(shù)量較多時,逐一手工輸入有些繁瑣,這時可以添加一個自定義函數(shù)來快速獲取工作表名稱,方法如下:
按Alt+F11,打開VBA編輯器,單擊菜單“插入→模塊”,在代碼窗口中輸入下列代碼:
Function GetSheetName(idx As Integer, Optional relative_position As Boolean) As String
Application.Volatile
GetSheetName = Sheets(IIf(relative_position, ActiveSheet.index – -idx, idx)).Name
End Function
上述代碼定義了一個自定義函數(shù)GetSheetName,有兩個參數(shù):“idx”為工作表的索引號,“relative_position ”為邏輯型可選參數(shù)。“relative_position ”參數(shù)為“0”或省略時表示按工作表的絕對位置來獲取工作表名稱,其取值范圍為“1,2,3,……”,當(dāng)“idx”取這些值時依次獲取工作簿中從左到右的第1,2,3,……個工作表的名稱;該參數(shù)為真時按相對位置來獲取工作表名稱,即“idx”參數(shù)為“0”時取得當(dāng)前工作表名稱,為“-1”時取得其左側(cè)第一個工作表名稱,為“1”時取得其右側(cè)第一個工作表名稱。
示例:
取得第一個工作表的名稱:
=getsheetname(ROW(A1))
向下拖到填充柄填充公式即可依次取得各工作表名稱。
在G11單元格取得當(dāng)前工作表的名稱:
=getsheetname(ROW()-11,1)
向上填充公式可獲取其左側(cè)工作表名稱,向下填充公式可獲取其右側(cè)工作表名稱。






