常用功能加载宏——单元格字符处理
时间: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
- GOTO Berlin: Web API设计原则
- 使用 ServiceStack 构建跨平台 Web 服务
- 使用 OpenWhisk 自建 Serverless 服务
- 如何在 8 小时内开发上线一个在线表单系统
- 让Response.Redirect页面重定向更有效率
- 使用 adr 轻松创建 “程序员友好” 的轻量级文档
- 在Linux和Windows平台上操作MemoryMappedFile(简称MMF)
- android来电归属地提醒
- Jexus 支持PHP的三种方式
- Android杀毒实现原理及实例
- HTTP/2探索第二篇——工具及应用
- .NET中的DES对称加密
- 墨迹天气3.0引导动画
- IIS 8:IIS 入门
- 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 数组属性和方法
- Flutter中如何实现无Context跳转详解
- MySQL常见问题一
- Android WiFi热点开发的示例代码
- android实现简单计算器功能
- 【 Flutter Unit 解牛篇 】代码折叠展开面板,怎么没有线?
- Android自定义底部弹出框ButtomDialog
- Android使用SoundPool播放音效实例
- 安装OpenLDAP和客户端
- 【- Flutter 桌面篇 -】 FlutterUnit win版闪亮登场
- Android实现视频弹幕功能
- flutter 中监听滑动事件
- 如何通过Cloudera Manager页面自定义图表
- 【-Flutter组件篇- 】1.20新增组件InteractiveViewer
- Android使用SoundPool实现播放音效
- 【- FlutterUnit重大更新 -】Flutter要点集录.md