EXCEL和VBA如何改变字母大小写 和 大小写互换?我写的自定义函数

news2024/9/29 13:22:57

目录

1 EXCEL里改变大小写的内置函数

2.1 转换大小写的函数

2.2 神奇的把数字和中文大小写转换的函数

2 VBA里改变大小写的内置函数

2.1 改变大小写 的内置函数

2.2 使用 excel的WorksheetFunction. text() 函数

3 如果想交换字母的大小写呢?

3.1 ASCII码里的大写字母和小写字母

3.2 怎么把字符串string 像数组一样切片呢?

3.3 VBA的 字符转ASCII码和 ASCII转字符的两个函数

3.4  自定义函数,大小写互换  test_tran1(a)


1 EXCEL里改变大小写的内置函数

2.1 转换大小写的函数

  • upper()         '全部改大写
  • lower()          '全部改小写
  • proper()        '首字母大写
  • code()          'excel里查看字母asc码的函数

2.2 神奇的把数字和中文大小写转换的函数

  • NUMBERSTRING()  
  • 参数只可选1,2,3

  • NUMBERSTRING(A8,1)       ' 转成小写汉字,且是数量单位
  • NUMBERSTRING(A8,2)       ' 转成大写汉字,且是数量单位
  • NUMBERSTRING(A8,3)       ' 转成小写汉字

 

2 VBA里改变大小写的内置函数

2.1 改变大小写 的内置函数

  • UCase()            '所有小写改大写
  • lCase()              '所有大写改小写
  • VBA里,使用 worksheetfuction.upper()   worksheetfuction.lower() 是不行的

2.2 使用 excel的WorksheetFunction. text() 函数

  • WorksheetFunction.Text(rng.Text, "[DBNum1]")
  • WorksheetFunction.Text(rng.Text, "[DBNum2]")

3 如果想交换字母的大小写呢?

目标:如果想大小写互换:也就是把大写字母改成小写,而小写字母改成大写,怎么做?

先理清思路

  • 搞清楚大写字母和小写字母的区别
  • 如何逐个从字符串数组里取每个字符?
  • 如何转化单个字符,且放回去?

3.1 ASCII码里的大写字母和小写字母

  • 搞清楚大写字母和小写字母的区别
  • 在 ASCII码里,大写字母和小写字母可以对应位不同区间段的数字
  • 大写字母A-Z, 65-90
  • 小写字母a-z, 97-122
  • 因此只要判断了这个字符的acsii码值,就知道其是大写还是小写!

3.2 怎么把字符串string 像数组一样切片呢?

  • python可以 string[1] 这样取
  • 但是vba里不行
  • 但是其实用 mid(string, i ,1 ) 也可以取每个字符

3.3 VBA的 字符转ASCII码和 ASCII转字符的两个函数

  • chr()            'ASCII转字符
  • asc()            '字符转ASCII码

3.4  自定义函数,大小写互换  test_tran1(a)

  • 搞清楚大写字母和小写字母的区别
  • 把字符串看成一个数组,
  • 如何逐个从字符串数组里取每个字符
  • 如何转化单个字符,且放回去
  • 取最后的结果
Function test_tran1(a)
  '好像vba里字符串不能直接这样切片a[],只能用 mid()?
  For i = 1 To Len(a)
       '用ASC() 而不是chr() 更不是WorksheetFunction.code
      If Asc(Mid(a, i, 1)) >= 97 And Asc(Mid(a, i, 1)) <= 122 Then
         Mid(a, i, 1) = UCase(Mid(a, i, 1))      '用这个不行worksheetfunction.upper()
      ElseIf Asc(Mid(a, i, 1)) >= 65 And Asc(Mid(a, i, 1)) <= 90 Then
         Mid(a, i, 1) = LCase(Mid(a, i, 1))
      End If
  Next
  test_tran1 = a
  Debug.Print a
End Function


Sub testtt1()
   a = "abcABC"
   test_tran1 (a)
End Sub

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/687747.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Java Servlet 技术

一、Servlet 简介 Servlet 是 JavaEE 的规范之一&#xff0c;通俗的来说就是 Java 接口&#xff0c;将来我们可以定义 Java 类来实现这个接口&#xff0c;并由 Web 服务器运行 Servlet &#xff0c;所以 TomCat 又被称作 Servlet 容器。 Servlet 提供了动态 Web 资源开发技术…

偷偷爆料下工资特别高的8个开发岗。。。。。

外国网站 devjobsscanner 统计了全年需求量大的8种编程语言&#xff0c;基本上薪资很高的&#xff0c;也就是这几个方向了。 对于跳槽、找工作、转行、转语言等&#xff0c;都有一定的参考意义。 接下来结合网站统计和招聘网站的数据&#xff0c;可以做一个对照。 NO.1 Java…

MongoDB的基本操作

MongoDB的基本操作 MongoDB MongoDB是一个基于分布式文件存储的数据库&#xff0c;由C语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。 MongoDB是一个介于关系数据库和非关系数据库之间的产品&#xff0c;是非关系数据库当中功能最丰富&#xff0c;最像关系数…

游泳带什么防水耳机好,最佳游泳耳机的推荐排行榜

在炎炎夏日&#xff0c;玩水无疑是降温的最佳方式。既可以在室内游泳馆通过游泳锻炼身体&#xff0c;也可以到海滨浴场享受游泳和日光浴的乐趣。因此&#xff0c;选购一款适合水上活动的游泳耳机变得尤为重要。音乐的力量可以让原本单调乏味的游泳运动变得更具活力&#xff0c;…

Linux基础服务4——ftp

文章目录 一、基本了解1.1 C/S型架构1.2 数据连接模式1.3 用户认证 二、安装服务端2.1 安装vsftpd2.2 配置文件2.3 主配置文件参数2.4 windows访问服务端2.4.1 系统用户访问2.4.2 匿名用户访问2.4.2 开启客户端上传权限2.4.3 开启客户端其他权限2.4.4 开启客户端删除、修改权限…

hvv 文件上传和文件包含考点

天眼如何判断文件上传漏洞是否成功 数据包分析 观察客户端请求数据&#xff1a;是否包含webshell流量特征观察服务器返回信息&#xff1a;是否有“上传成功”或“success upload”等信息提示 尝试寻找上传的文件&#xff1a;访问上传的文件看是否存在&#xff1b;查看文件上传…

Redisson分布式锁-源码分析

Redisson分布式锁整体流程图 Redisson分布式锁源码流程图 Redisson分布式锁源码解析 获取分布式锁lock private void lock(long leaseTime, TimeUnit unit, boolean interruptibly) throws InterruptedException {//获取当前线程IDlong threadId Thread.currentThread().get…

参与 2023 第二季度官方 Flutter 开发者调查

Flutter 3.10 已经正式发布&#xff0c;每个季度一次的 Flutter 开发者调查也来啦&#xff01;邀请社区的各位成员们填写&#xff1a; 调研旨在了解你对 Flutter 的满意程度以及对其各个子系统的反馈。你的意见将对我们改进 Flutter 的功能和性能产生重要影响。 在这次调研中&a…

Linux——软硬链接的理解

目录 那什么是链接&#xff1f; 链接命令的生成&#xff1a; 实验案例&#xff1a; 硬链接概念&#xff1a; 软链接概念&#xff1a; 情况1&#xff1a;删除myfile.txt&#xff1a; 情况2&#xff1a;重新创建一个新的myfile.txt文件&#xff1a; 软链接作用&#xff1…

推特引流:社交引流的技巧与方法

推特是一个广泛使用的社交媒体平台&#xff0c;可以用于引流和推广您的品牌、产品或服务。以下是一些社交引流的技巧和方法&#xff0c;可以帮助您在推特上获得更多的关注和流量&#xff1a; 优化个人资料&#xff1a;确保您的推特个人资料完整并具有吸引力。包括一个清晰的头…

yolov8-02 训练自己的数据集

1. 准备数据集 数据集格式跟yolov5一样&#xff0c;关于如何准备数据集可见之前的文章。 2. 创建 mydata.yaml 格式参考coco128.yaml&#xff0c;主要是 train / validate文件的存放路径&#xff0c;可以是同一个。 在ultralytics-main/ultralytics/datasets中&#xff0c;…

【Linux】ubuntu20.04安装ansys2023r1教程--超详细

一、安装包及其和谐文件 双击挂载 二、在ubuntu上安装依赖项 执行命令sudo apt install build-essential xterm libmotif-dev libxtst-dev libxt-dev libzip-dev libxmu-dev tcl tk lsb csh xfonts-75dpi xfonts-100dpi wine 弹出一个提示&#xff0c;需要去下载一个171MB的压…

Simulink 中基于 FPGA 的波束成形:算法设计(附源码)

一、前言 本示例显示了在 Simulink中开发适用于在硬件&#xff08;如现场可编程门阵列 &#xff08;FPGA&#xff09;&#xff09;上实现的波束成形器的工作流程的前半部分。它还演示如何将实现模型的结果与行为模型的结果进行比较。 示例 Simulink 中基于 FPGA 的波束成形&…

shell 数组 ${array[@]} ${array[*]}的使用及区别

数组定义 shell中用括号来表示数组&#xff0c;数组元素间使用空格隔开。 例如&#xff1a; a(1 2 3 4) 表示a数组且有元素为1,2,3,4 也可单个元素逐步来赋值 b[1]"a" b[2]"b" b[3]"c" echo ${b[]} # a b c 关联数组 定义关联数组&#xf…

论文翻译:Segment Anything

论文地址&#xff1a;https://arxiv.org/abs/2304.02643 代码地址&#xff1a;https://github.com/facebookresearch/segment-anything 数据集地址&#xff1a;https://ai.facebook.com/datasets/segment-anything/ “Segment Anything"项目旨在通过引入新的任务、数据集…

决定AI大模型胜负的关键:解读数据在未来竞争中的角色

随着人工智能的迅猛发展&#xff0c;高质量数据的重要性已愈发明显。以大型语言模型为例&#xff0c;近年来的飞跃式进展在很大程度上依赖于高质量和丰富的训练数据集。相比于GPT-2&#xff0c;GPT-3在模型架构上的改变微乎其微&#xff0c;更大的精力是投入到了收集更大、更高…

声卡设备无法正常工作或初始化的原因和解决方法

先来一个小科普&#xff0c;声卡设备是电脑中负责处理音频信号的硬件部件&#xff0c;它需要与相应的声卡驱动程序配合使用&#xff0c;才能让电脑发出或录制声音。 不过&#xff0c;自带声卡的设备或是自行匹配的声卡设备&#xff0c;也经常出现声卡设备无法正常工作或初始化…

通过Jenkins实现Unity多平台自动打包以及相关问题解决

简介 通过本文可以了解到如何在windows和mac上部署Jenkins。并且通过Jenkins实现Unity在IOS,安卓和PC等多平台自动打包的功能&#xff0c;并且可以将打包结果通过飞书机器人同步到飞书群内。优化工作流&#xff0c;提高团队的开发效率。文末记录了实际使用Jenkins时遇到的各种问…

Leetcode44 通配符匹配

给你一个输入字符串 (s) 和一个字符模式 (p) &#xff0c;请你实现一个支持 ? 和 * 匹配规则的通配符匹配&#xff1a; ? 可以匹配任何单个字符。 * 可以匹配任意字符序列&#xff08;包括空字符序列&#xff09;。 判定匹配成功的充要条件是&#xff1a;字符模式必须能够 完…

真心靠谱 Ubuntu18.04 换源 国内阿里云私服

本篇 blog 真心靠谱 1、备份原来的默认源 cp /etc/apt/sources.list{,.bak} 2、换阿里云的源&#xff08;需要稍作修改&#xff09; 直接使用阿里云的会报错 https://developer.aliyun.com/mirror/ubuntu 以上报错&#xff1a;是https证书问题&#xff0c;网上有人说安装证…