常用功能加载宏——单元格字符处理
时间:2022-07-22
本文章向大家介绍常用功能加载宏——单元格字符处理,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
使用Excel如果经常处理英文资料的话,应该会经常碰到需要转换大小写的情况,Excel提供了UPPER、LOWER等转换函数。
使用函数需要在新的单元格进行转换,每次都要输入公式,转换完成再复制回去,有点麻烦。而且如果要实现首字母大小写转换的话,还必须嵌套Left、Mid等函数,更加不方便。
如果经常有这种情况,那么做Ribbon按钮实现大小写转换就非常方便了,实现效果:
首先添加customUI.xml代码,因为字符处理相关功能较多,所以使用下拉菜单来管理:
<menu id="rbmenuString" label="字符处理 " size="large" imageMso="Spelling">
<button id="rbbtnFirstToUpper" label="首字母大写" onAction="rbbtnFirstToUpper" imageMso="SlideThemesGallery"/>
<button id="rbbtnToUpper" label="转换大写" onAction="rbbtnToUpper" imageMso="QuickStylesSets"/>
<button id="rbbtnToLower" label="转换小写" onAction="rbbtnToLower" imageMso="FootnoteInsert"/>
</menu>
回调函数:
Sub rbbtnFirstToUpper(control As IRibbonControl)
Call MRange.FirstToUpper
End Sub
Sub rbbtnToUpper(control As IRibbonControl)
Call MRange.ToUpper
End Sub
Sub rbbtnToLower(control As IRibbonControl)
Call MRange.ToLower
End Sub
函数实现比较简单,主要就是调用VBA的字符转换函数:
Sub FirstToUpper()
Dim rng As Range, selectRng As Range
Dim tmp As String
'确保选中的是单元格
If TypeName(Selection) = "Range" Then
Set selectRng = Selection
For Each rng In selectRng
tmp = VBA.CStr(rng.Value)
rng.Value = VBA.UCase$(VBA.Left$(tmp, 1)) & VBA.Mid$(tmp, 2)
Next rng
End If
Set rng = Nothing
Set selectRng = Nothing
End Sub
Sub ToUpper()
Dim rng As Range, selectRng As Range
'确保选中的是单元格
If TypeName(Selection) = "Range" Then
Set selectRng = Selection
For Each rng In selectRng
rng.Value = VBA.UCase$(VBA.CStr(rng.Value))
Next rng
End If
Set rng = Nothing
Set selectRng = Nothing
End Sub
Sub ToLower()
Dim rng As Range, selectRng As Range
'确保选中的是单元格
If TypeName(Selection) = "Range" Then
Set selectRng = Selection
For Each rng In selectRng
rng.Value = VBA.LCase$(VBA.CStr(rng.Value))
Next rng
End If
Set rng = Nothing
Set selectRng = Nothing
End Sub
- windows service编程
- Entity Framework——常见报错总结
- MySQL 主从复制的原理和配置
- Entity Framework——读写分离
- 如何在 MySQL 中判断中文字符?
- Entity Framework——执行sql语句
- 深入浅析PHP7.0新特征(五大新特征)
- 走在专家的路上,每天优化一条SQL
- 用GenePred注释文件进行数据分析
- 走在专家的路上,每天一条SQL优化(2)
- Entity Framework——性能测试
- 谷歌开放的TensorFlow Object Detection API 效果如何?对业界有什么影响?
- 生信编程直播课程优秀学员作业展示1
- ID转换大全
- 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 数组属性和方法
- React进阶篇(八)react redux
- 通过一个简单例子理解JavaScript闭包和this对象
- Spring Cloud 之服务网关 Gateway (一)
- Hacking with iOS: SwiftUI Edition - Hot Prospects项目(二)
- HarmonyOS-对Android开发者也太友好了吧
- 你还在使用复杂的 zkclient 开发 zookeeper 么?是时候用 Curator 了 !
- 如何通俗理解类和类型的差别?
- 如何理解变量?
- 装逼篇 | 抖音超火的九宫格视频是如何生成的,Python 告诉你答案
- 能否详细讲讲字符串呢?
- 能否一次性帮我把数组讲明白?
- 什么是装箱和拆箱?
- ceph常用命令
- 如何创建一个不受长度限制的数组?
- 数组、列表及字符串如何相互转换?