前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >常用功能加载宏——单元格字符处理

常用功能加载宏——单元格字符处理

作者头像
xyj
发布于 2020-07-28 03:46:15
发布于 2020-07-28 03:46:15
47400
代码可运行
举报
文章被收录于专栏:VBA 学习VBA 学习
运行总次数:0
代码可运行

使用Excel如果经常处理英文资料的话,应该会经常碰到需要转换大小写的情况,Excel提供了UPPER、LOWER等转换函数。

使用函数需要在新的单元格进行转换,每次都要输入公式,转换完成再复制回去,有点麻烦。而且如果要实现首字母大小写转换的话,还必须嵌套Left、Mid等函数,更加不方便。

如果经常有这种情况,那么做Ribbon按钮实现大小写转换就非常方便了,实现效果:

首先添加customUI.xml代码,因为字符处理相关功能较多,所以使用下拉菜单来管理:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
      <menu id="rbmenuString" label="字符处理&#13;" 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>

回调函数:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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的字符转换函数:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-06-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 VBA 学习 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
[195]python set()和frozenset()函数
set() 函数创建一个无序不重复元素集,可进行关系测试,删除重复数据,还可以计算交集、差集、并集等。
周小董
2022/04/12
4340
函数 | Python内置函数详解—集合操作类
Python内置的函数及其用法。为了方便记忆,已经有很多开发者将这些内置函数进行了如下分类:
潘永斌
2020/02/18
7940
python中set和frozenset方法和区别
set无序排序且不重复,是可变的,有add(),remove()等方法。既然是可变的,所以它不存在哈希值。基本功能包括关系测试和消除重复元素. 集合对象还支持union(联合), intersection(交集), difference(差集)和sysmmetric difference(对称差集)等数学运算.
Python学习者
2023/05/16
2610
python3内置函数大全
由于面试的时候有时候会问到python的几个基本内置函数,由于记不太清,就比较难受,于是呕心沥血总结了一下python3的基本内置函数
py3study
2020/01/13
1.1K0
Datawhale组队学习 -- Task 5: 字典、集合和序列
字典 是无序的 键:值(key:value)对集合,键必须是互不相同的(在同一个字典之内)。
余生大大
2022/11/02
7230
Datawhale组队学习 -- Task 5: 字典、集合和序列
【Python入门】Python 63个内置函数超级详解
Python内置了一些非常精巧且强大的函数,对初学者来说,一般不怎么用到,但是偶尔会碰到,我也是用了一段时间python之后才发现,卧槽,还有这么好的函数,每个函数都非常经典,而且经过严格测试,使用内置函数,不用自己闭门造车,并且代码简洁易读了很多,真是方便又实用,值得花时间进行体系化研究学习。
黄博的机器学习圈子
2020/05/26
8260
【Python入门】Python 63个内置函数超级详解
最全Python内置函数
判断真假,  True:真  ,  False:假,   把一个对象转换成bool值
Wyc
2018/09/11
6550
Python所有的内置函数 , 都帮你整理好了!
abs(x), 返回一个数的绝对值。参数可以是一个整数或浮点数。如果参数是一个复数,则返回它的模
Python编程与实战
2020/10/30
9400
Python所有的内置函数 , 都帮你整理好了!
千行代码入门python
# _*_ coding: utf-8 _*_ """类型和运算----类型和运算----类型和运算----类型和运算----类型和运算----类型和运算----类型和运算----类型和运算----类型和运算----类型和运算----类型和运算""" # -- 寻求帮助: dir(obj)  # 简单的列出对象obj所包含的方法名称,返回一个字符串列表 help(obj.func)  # 查询obj.func的具体介绍和用法 # -- 测试类型的三种方法,推荐第三种 if type(L) =
好派笔记
2021/09/16
6021
看代码学习python基础
#-- 寻求帮助: dir(obj) # 简单的列出对象obj所包含的方法名称,返回一个字符串列表 help(obj.func) # 查询obj.func的具体介绍和用法 #-- 测试类型的三种方法,推荐第三种 if type(L) == type([]): print("L is list") if type(L) == list: print(
py3study
2020/01/10
9170
python中创建集合的语句_Python 集合(set) 介绍
#1.经理有:曹操,刘备,孙权#技术员有:曹操,孙权,张飞, 关羽#用集合求:#1. 即是经理也是技术员的有谁?#2. 是经理,但不是技术人员的都有谁?#3. 是技术人员,但不是经理的人都有谁?#4. 张飞是经理吗?#5. 身兼一职的人都有谁?#6. 经理和技术人员共有几个人?
用户7886150
2021/01/26
1.8K0
Python全栈工程师(集合、函数)
感谢 大家的支持 你们的阅读评价就是我最好的动力 我会坚持把排版内容以及偶尔的错误做的越来越好
全栈程序员站长
2022/09/07
3990
Python全栈工程师(集合、函数)
Python指南:组合数据类型
Python提供了5中内置的序列类型:bytearray、bytes、list、str与tuple,序列类型支持成员关系操作符(in)、大小计算函数(len())、分片([]),并且是可可迭代的。
王强
2018/08/09
2.9K0
Python指南:组合数据类型
python初学者必须吃透的这些内置函数
所谓内置函数,就是Python提供的, 可以直接拿来直接用的函数,比如大家熟悉的print,range、input等,也有不是很熟,但是很重要的,如enumerate、zip、join等,Python内置的这些函数非常精巧且强大的,对初学者来说,经常会忽略,但是偶尔会碰到,我也是用了一段时间python之后才发现,还有这么好的函数,每个函数都非常经典,而且经过严格测试,使用内置函数,不用自己闭门造车,并且代码简洁易读了很多,真是方便又实用,值得花时间进行体系化研究学习。
程序员小新
2021/12/20
8300
python初学者必须吃透的这些内置函数
02 . Python之数据类型
变量存储在内存中的值。这就意味着在创建变量时会在内存中开辟一个空间。基于变量的数据类型,解释器会分配指定内存,并决定什么数据可以被存储在内存中。 因此,变量可以指定不同的数据类型,这些变量可以存储整数,小数或字符.
iginkgo18
2020/09/27
1.8K0
02 . Python之数据类型
Python基础-5 常用的数据结构(集合、字典)
参考手册:“set 对象是由具有唯一性的 hashable 对象所组成的无序多项集。”
一只大鸽子
2022/12/06
7560
Python之内置函数
''' 内置函数 :     作用域相关(2) :         locals : 返回当前局部作用域内的所有内容         globals : 返回全局作用域内的所有内容     基础数据类型相关(38) :         和数字相关 :             数据类型 :                 bool : 将数字强制转换成bool型                 int : 将数字强制转换成int型                 float : 将数字强制转换成float型
py3study
2020/01/15
5580
Python 内建函数大全
Python 解释器内置了许多函数和类型,列表如下(按字母排序)(省略了几个我没用过或者不常用的)。
Python数据科学
2018/08/06
2K0
Python 内建函数大全
python 内置函数
基本的数据操作基本都是一些数学运算(当然除了加减乘除)、逻辑操作、集合操作、基本IO操作,然后就是对于语言自身的反射操作,还有就是字符串操作。
py3study
2018/08/02
8040
python 基础内置函数表及简单介绍
内建函数名 (表达形式) 主要作用 备注 abs(x) 返回一个X值得绝对值(x=int/float/复数) all(iterable) 如果 iterable 的所有元素均为 True(或 iterable 为空),则返回 True any(iterable) 如果iterable中有任何一个元素为True,则返回True。如果iterable为空,则返回False ascii(object)
Mirror王宇阳
2020/11/10
1.4K0
相关推荐
[195]python set()和frozenset()函数
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验