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

目录

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

 

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
一个小巧而又十分强大的Excel加载项(插件)---OBS.DLL,大小1M左右,却能突破微软的技术壁垒,打破Excel的常规应用模式,开辟了Excel的另类应用空间。加载后新增一个"OBS"工具条,适用于Excel2002及以上版本,推荐在Excel2002/2003中使用。 OBS.DLL的主要功能是制作和编辑OBS文档,一种类似TreeView控件的文档。换句话说,OBS.DLL将Excel表格变成了一个功能强大的超级TreeView控件!普通TreeView控件只能显示一列数据(仅一个字段),而OBS表格却可以显示更多的列(N个字段),而且每个字段都可以汇总(这一点又要比Excel自身的分类汇总更直观、简单),再配合VBA,可以让您轻松驾驭超灵无比的Excel! 当然,OBS.DLL还具备一些很有特色的功能,对Excel的功能来说,应该是一个很好的补充。如: 1、中文简繁互换:在简体中文和繁体中文之间进行转换。 2、进制转换:在二进制、八进制、十进制、十六进制之间相互转换。 3、人民币大小写互换:在Excel中,很多时候需要将小的金额数字转换成大,而Excel提供的函数转换出来的格式并不符合中国人的习惯,所以... 4、数字签名:对Excel表格中的内容进行签名保护,主要是防止提供者提供的内容被非法修改。可以用于Excel公文的电子签名,实现真正的无纸办公... 5、保存为图片文件:相当于Excel的照相机功能(有过之而无不及)。可以将Excel中的单元格区域、Shape对象、图片、图表等(甚至是组合形式)以gif、jpg、bmp等各式保存到磁盘中。 6、全功能批注----真正所见即所得的批注编辑器。 7、VB/VBA代码归纳与重:对VB/VBA代码进行混淆,大大降低代码的可读性,是一种保护VB/VBA代码的很有效的方法。详细的注释说明和一目了然的名称将有助于设计阶段的调试和查错,但是代码一旦发布后,这些优点将会使黑客轻而易举地破解你的成果,呵呵,用这个吧,保证黑客对您的VB/VBA代码一点兴趣和胃口都没有!! 8、解除Excel文档的内部密码。很多时候,我们需要设置Excel表格/工作簿的保护密码,可是随着时间的推移,这些密码很可能遗忘了,怎么办?很着急啊!!!哈哈,用这个保证在2分钟之内解决问题(换个角度:不要再自欺欺人了,Excel的内部密码形同虚设)。 9、信息加密/解密。对Excel文档中的一些敏感信息进行加密处理,即使文档被破解了,里面的信息仍然很安全。可以说这个功能是对Excel安全的一个有力补充。 10、工程代码锁定解锁器。可以撤销ExcelVBA保护密码(对word、Access同样有效) 11、控制和保存功能。这个功能能满足我们不用记一个密码就能非常有效地保护我们的Excel文档,而且可以免除来自微软的威胁。 12、Cookie管理器。在信息时代,没有网络怎么可以?上网时间长了,就会发现在临时文件夹中挤满了cookies,不但占据磁盘空间,而且还可能泄露秘密。用“清理cookie”命令吧,又觉得有些没有必要删,否则下次还得再输一遍;一个一个删吧,东西太多,想都不能想。怎么办??用这个啊!!只要一次性设置要保留的cookie并选中“退出Excel自动清理”即可。以后只要退出Excel,你的cookies目录中就不会再有其它乱七八糟的cookie了。 13、超级预览。可以根据当前的选择内容自动调整预览对象。如过选中的是单元格区域,就只预览你选中的区域;如果选中的是图表,则仅预览选中的图表;如果只是一个单元格,则自动显示分页符... ... 14、屏幕锁定。当我们需要临时离开电脑而又不想关闭Excel文档时(并不局限于Excel文档,也可以是其它,但前提是要运行Excel),可以启动这个功能,这样其他人就不可能看到您不希望他们看到的东西。 15、尝试打开忘记密码的文件。暴力破解Excel的打开密码,注意:这个仅对拥有密码设计方案的人有效。 16、Excel加载项/宏管理器。对当前Excel环境下的加载宏/加载项/VBA加载项进行列表,并可以查看相关属性、修改运行状态,甚至是一键破解。 17、Excel对象管理器,可以批量转换Excel中的对象(图片、Shape、图表等)到图片文件; 18、在Excel中播放背景音乐、定时执行特定的程序、整点报时,一定很惬意... 19、屏幕录像及捕捉。哦,这个功能很强大啊。可以截取屏幕图像、录制屏幕变化、图片格式转换、批量bmp转成AVI文件、AVI文件转成动画GIF文件、图片标注... ...强大的不行啦,赶快去看看吧。快捷键:Ctrl+Alt+SpaceBar 或者 Shift+WinKey(微软徽标键) 20、DLL神探,DLL的最大威胁就是注入到系统进程中,让人防不胜防... 21、一键恢复Excel的系统菜单。这个功能... ... 22、Excel版简易游戏。只是几个可以在Excel中玩的游戏... ... ... 有兴趣的请访问:http://www.ChinaOBS.com 。本站热诚欢迎您的到来。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值