您的位置: 首页 > EXCEL技巧 > Excel函数 >

用自定义函数获取工作表名称

时间:2013-12-13 整理:docExcel.net

有时需要在工作表中引用同一工作簿中其他工作表名称,当工作表数量较多时,逐一手工输入有些繁琐,这时可以添加一个自定义函数来快速获取工作表名称,方法如下:

按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

上述代码定义了一个自定义函数GetSheetName,有两个参数:“idx”为工作表的索引号,“relative_position ”为逻辑型可选参数。“relative_position ”参数为“0”或省略时表示按工作表的绝对位置来获取工作表名称,其取值范围为“1,2,3,……”,当“idx”取这些值时依次获取工作簿中从左到右的第1,2,3,……个工作表的名称;该参数为真时按相对位置来获取工作表名称,即“idx”参数为“0”时取得当前工作表名称,为“-1”时取得其左侧第一个工作表名称,为“1”时取得其右侧第一个工作表名称。

示例:

取得第一个工作表的名称:

=getsheetname(ROW(A1))

向下拖到填充柄填充公式即可依次取得各工作表名称。

在G11单元格取得当前工作表的名称:

=getsheetname(ROW()-11,1)

向上填充公式可获取其左侧工作表名称,向下填充公式可获取其右侧工作表名称。

用自定义函数获取某月中指定日期的数量 问题:用自定义函数获取某月中指定日期的数量
回答:...例如,2009年1月中有几个星期一?用Excel内置的日期时间函数无法解决这个问题。我们可以用自定义函数的方法来解决。按Alt+F11打开VBA编辑器,单击菜单“插入→模块”,在右侧的代码窗口中输入自定义函数: Function WeekDaysInMonth...
用自定义函数获取单元格注释 问题:用自定义函数获取单元格注释
回答:我们可以用一个自定义函数来提取单元格注释。方法如下: 1.按Alt+F11,打开VBA编辑器。 2.单击菜单“插入→模块”,在右边的代码窗口中输入代码: Function GetCommentText(rCommentCell As Range) Dim strGotIt As String   On Error Resume Next &...
自定义函数获取多个单元格中相同的字符 问题:自定义函数获取多个单元格中相同的字符
回答:...区域内各单元格字符串中的相同字符,可用下面的自定义函数。例如要在D1单元格获取A1:C1区域各单元格中相同的字符,如图: 按Alt+F11,打开VBA编辑器,单击菜单“插入→模块”,在代码窗口中输入自定义函数: Function GetDupC...
用自定义函数获取合并单元格内的行数 问题:用自定义函数获取合并单元格内的行数
回答:...等,因而有必要统计合并单元格内的行数。 用自定义函数可以方便地得到合并单元格内的行数或列数,方法如下。 按Alt+F11,打开VBA编辑器,单击菜单“插入→模块”,在代码窗口中输入下列代码: Function MergeRowsCount(Rng As R...
用VBA从已关闭的工作簿中获取数据 问题:用VBA从已关闭的工作簿中获取数据
回答:...取数据,可以用下面的方法来实现: 1.定义一个自定义函数 按Alt+F11,打开VBA编辑器,单击菜单“插入→模块”,在右侧的代码窗口中输入下列自定义函数,: Private Function GetDataFromClosedWorkbook(path, file, sheet, ref) 从已关闭的工...
获取单元格所在列的名称 问题:获取单元格所在列的名称
回答:...列的名称,如A9单元格的列名“A”,可以用公式和自定义函数的方法来实现。 1.用公式获取列名 在任意单元格中输入公式: =LEFT(ADDRESS(ROW(),COLUMN(),4),LEN(ADDRESS(ROW(),COLUMN(),4))-LEN(ROW())) 公式说明:先用ROW和COLUMN函数返回公式所在...
相关推荐: