常用功能加载宏——工作表目录
时间:2022-07-22
本文章向大家介绍常用功能加载宏——工作表目录,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
在一个工作簿中,如果工作表太多了,要选中需要操作的Sheet还挺麻烦的。对于Excel用的不大熟练的人,只会按左下角的方向箭头,然后用眼睛去查找,有的人为了让Excel显示多一些工作表名称,还会把右下角的滚动条拉的只剩一点点,造成操作Sheet都不方便。
其实Excel里还有一个方便一点的操作:
在图上那个位置,点击鼠标右键,就能弹出一个新的窗口来选择并激活Sheet,这个操作应该已经很方便了。
当然也可以使用VBA来快速创建一个所有Sheet的目录:
首先在customUI.xml中增加代码:
<group id="GroupShtWk" label="工作表、工作簿">
<menu id="rbmenuDir" label="目录 " size="large" imageMso="ViewOutlineView">
<button id="rbbtnShtDir" label="工作表目录 " onAction="rbbtnShtDir" imageMso="AccessFormDatasheet" />
</menu>
</group>
插入一个模块,命名MShtWk。
回调函数:
Sub rbbtnShtDir(control As IRibbonControl)
Call MShtWk.ShtDir
End Sub
函数实现:
Sub ShtDir()
Dim i As Long
Dim result() As Variant
'定义结果数组
ReDim result(Worksheets.Count, 2)
result(0, 0) = "序号"
result(0, 1) = "工作表名称"
result(0, 2) = "跳转"
For i = 1 To Worksheets.Count
result(i, 0) = i
result(i, 1) = Worksheets(i).Name
'使用HYPERLINK创建超链接,这里也可以使用VBA直接创建
result(i, 2) = "=HYPERLINK(""#'""&RC[-1]&""'!A1"")"
Next
Dim rngout As Range
On Error Resume Next
Set rngout = Application.InputBox("请选择输出单元格", Default:=ActiveCell.Address, Type:=8)
On Error GoTo 0
If Not rngout Is Nothing Then
rngout.Resize(Worksheets.Count + 1, 3).Value = result
End If
Set rngout = Nothing
Erase result
End Sub
这里的跳转使用的是HYPERLINK函数创建的超链接:
"=HYPERLINK(""#'""&RC[-1]&""'!A1"")"
这个公式使用的是FormulaR1C1样式,要得到这个公式的文本,可以先在一个单元格中设置好公式,然后在立即窗口输入:
?Activecell.FormulaR1C1
其实这里使用VBA直接在对应的单元格创建超链接更好,使用HYPERLINK是为了解VBA配合Excel函数的使用。
- golang(Go语言) byte/[]byte 与 二进制形式字符串 互转
- Sublime Text 最新注册码分享
- Lua table之弱引用
- 看吧,这就是现代化 PHP 该有的样子
- 从web图片裁剪出发:了解H5中的Blob
- Android子线程更新UI主线程方法之Handler
- Drawable.Bitmap.Canvas.Paint.Matrix
- 关于JSON.stringify和Unicode编码,需要注意的几点
- 用 PHP 的方式实现的各类算法合集
- Nginx 反向代理解决前后端联调跨域问题
- JavaScript对象length
- Go1.8.4和Go1.9.1版本发布
- Javascript数组操作
- Tensorflow官方语音识别入门教程 | 附Google新语音指令数据集
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- spring代理对象都是代理对象吗
- R语言Markowitz马克维茨投资组合理论分析和可视化
- 支付业务优化else if 代码
- 在UBUNTU虚拟机上安装R软件包
- R语言逻辑回归和泊松回归模型对发生交通事故概率建模
- 万恶的NPE差点让我半个月工资没了
- R语言非参数模型厘定保险费率:局部回归、广义相加模型GAM、样条回归
- 大白话java多线程,高手勿入
- R语言小数定律的保险业应用:泊松分布模拟索赔次数
- R语言中自编基尼系数的CART回归决策树的实现
- ArrayList的删除姿势你都掌握了吗
- sas神经网络:构建人工神经网络模型来识别垃圾邮件
- R语言多分类logistic逻辑回归模型在混合分布模拟单个风险损失值评估的应用
- 10分钟带你入门git到github
- 微服务[学成在线] day18:基于oauth2实现RBAC认证授权、微服务间认证实现