vba replace函数_「学点VBA」让电脑帮你把乘法口诀读出来

之前的一篇我们讲到如何用VBA制作出一个乘法口诀表,然后有小伙伴提建议,如何把它读出来呢?

先把代码发出来。

2cb660bc237f0fcecc2fe43e48b8c420.png

第1、2、6行代码给定格式

最开始的Sub和最后的End Sub就没什么好说的咯,第二行的Dim rg As Range,声明了一个叫做“rg”的单元格区域。

还记得之前的时候创建乘法口诀声明的数字变量吗?那是Dim h As Byte,接下来我们需要的是单元格,就不再用这种Byte的数字了。(用着也是可以的,这里讲到新的一种循环办法,用单元格的话就比较方便的)

第3、5行的循环格式

上次用到的是

For X = 1 To 9

Next X

是把分别把X用作1,2...9的数字。

这次的是

For Each rg In [A1:I9]

Next

在A1:I9的区域里,rg的变量把里面每一个单元格都“变”了一次,

分别把rg用作A1,B1....H9,I9的单元格。

第四行是发声的主要语句

暂时也不好解释,记着这种用法就好咯。

Application.Speech.Speak "A1"

这个命令就可以读出“A1”,是真的A1两个字符,而不是代指的A1单元格。

话说此处应该用Hello World更好。

Replace替代字符

Replace在表格里面也是有这个函数的,在VBA里也有这样的一个用法。

因为上次制作的乘法口诀里,“1x1=1”,等号是可以被系统识别读作“等号”的,不过那个乘号却会被读作字母“X”,此处用Replace函数把“x”替换读作“乘”

Replace(需要替换的内容,替换哪个字,替换为哪个字)

总的解释

把A1:I9的里的单元格拿过来,先把乘号改变成“乘”字,再把它读出来,然后换下一个单元格,以此对所有的单元格都读一遍

此处的Replace的结果仅仅是读了一下,所以不会把表格中原有的字符给替换掉(显示上)。

整个区域里面有大量的空白,原想要不要去判断下空白就换行的,后来发现软件自带的工具对这个空白也是只向后读了一个就自动换行了,就没有添加那个语句。

软件有自带的朗读工具,不知道你用过没呢?

高版本的可以直接用搜索出工具,

e315dde4617a4600cda928351f300f6d.png

其他版本的话需要去选项里面去找咯。

cd309ebacfcb22eabe4bcc784407829f.png
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值