有时需要在工作表中引用同一工作簿中其他工作表名称,当工作表数量较多时,逐一手工输入有些繁琐,这时可以添加一个自定义函数来快速获取工作表名称,方法如下:
按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”时取得其右侧第一个工作表名称。
示例:
如何在excel工作表的页眉或页脚中显示最后修改时间
有时需要在工作表的页眉或页脚中显示最后修改的日期和时间,在Excel中可以用下面的VBA代码来实现,步骤如下: 例如在页眉的中部显示工作簿最后保存时间,按Alt F11打开VBA编辑器,双击“工程”窗口中的“ThisWorkbook”,然后在代码窗口中粘贴下列代码: Pr
取得第一个工作表的名称:
=getsheetname(ROW(A1))
向下拖到填充柄填充公式即可依次取得各工作表名称。
在G11单元格取得当前工作表的名称:
=getsheetname(ROW()-11,1)
向上填充公式可获取其左侧工作表名称,向下填充公式可获取其右侧工作表名称。
关于Excel VBA学习的几个观点
一、VBA怎么学? 个人认为,关键是你要用VBA做什么?这就涉及到你对VBA的认识了,是局限于EXCEL还是着眼于OFFICE,抑或是为了VBS。甚至你可以将VBA当做VB的入门准备。要是真的想学VBA,至少要从几个方面着手吧: 1、相关的基础知识要掌握。如对象、属性、方法、事件、数据类型,虽然这看起来很麻烦,实际