EXCEL取当前SHEET页是第几个SHEET页

来源:互联网 发布:佳词网络怎么样 编辑:程序博客网 时间:2024/05/18 02:05

需求:

一个Excel ,每一个 SHEET 页都有一个单元格,用来存放此 SHEET 页是第几个 SHEET 页。


场景:

设计了一个工作薄,有十几个工作表,每一个工作表,都有一个单元格,单元格的内容是 “表N”,N 代表这个工作表在工作薄中的位置。


举例:

比如第 5 个工作表,那个单元格内容就是 “表5”,第 9 个工作表的那个单元格内容是 “表9”。


思路:

VBA 开发一个自定义函数,用来取当前工作表的位置。用到的方法是 Index。

然后使用 EXCEL 自带的函数 CONCATENATE 将 字符串 “表” 和 N 进行拼接即可。


实现:

1. 在当前工作薄中打开 VBA 开发工具开发自定义函数:

打开“开发工具”---->“Visual Basic”(或者直接快捷键 Alt + F11):




打开的窗口就是 VBA 开发工具了。

接下来,如下图选择当前工作薄,右键---->“插入”---->“模块”:




在右边的新窗口(模块)中,输入以下代码(如图):

Function num()  num = ActiveSheet.Index  End Function



(Ctrl + S )保存。VB 的工作就完成了。这个窗口就可以关闭了。


2. 单元格设置公式:

如图,在具体的单元格上,输入公式:

=CONCATENATE("表",num())



完成。上图显示的是第四个工作表,单元格的内容就是 “表4”。


附:去掉保存文件时的 “隐私问题警告” 提示:

由于使用了 VB 开发,因此保存此类文件时,会有  “隐私问题警告” 提示,如下图:


这个提示很是讨厌,因此还是去掉提示的好。

方法如下:

选择 “文件”---->“选项”,进入Excel选项窗口:

 


点击“信任中心”---->“信任中心设置”,进入设置信任中心的窗口:



选择 “个人信息选项”,去掉勾选“保存时从文件属性中删除个人信息”。

看清楚,是去掉勾选!!!默认是勾选的,此处我们不勾选。

去掉之后长这个样子:


设置完成。


此时我们重新保存。就没有提示了。


说明:这个设置只是针对当前的工作薄,并没有改变其他工作薄关于此选项的设置。


0 0
原创粉丝点击