《VBA经典应用69例》(版权10178981),是我推出的第九套教程,教程是专门针对初级、中级学员在学习VBA过程中可能遇到的案例展开,这套教程案例众多,紧贴“实战”,并做“战术总结”,以便大家能很好的应用。教程的目的是要求大家在实际工作中要利用好VBA。本套教程共三册六十九个专题,今日内容:VBA经典应用69例应用7:从字符串中删除数字
【分享成果,随喜正能量】人与人,人与事之间
皆有缘相由心生,境随心转
你把对方当成是菩萨,他就是菩萨
你把对方当作是魔鬼,他就是魔鬼。
应用7 利用VBA,从字符串中删除字符
我们这个专题的内容是字符串String的处理,在我的各套教程中一直把字符串处理作为一项非常重要的知识点来讲解。对于VBA语言而言,字符串操作是编程中的关键技能。VBA 开发人员的技能水平通常取决于他操纵字符串的程度。Excel 在数学操作方面非常强大,但文本操作却需要我们具有一定的创造力和经验。
在本专题中,我将向展示如何从字符串中删除字符,学习如何通过替换、左、右、修剪和 Instr函数功能来处理它们。
5 从字符串中删除数字
有时,我们希望从字符串中删除所有数字字符。我们可以通过循环实现此目标,将每个数字从0到9删除。为了从字符串中删除数字,我们仍是可以用Replace函数来进行,我们知道,从0到9一共是10个数字,为了让代码简洁,我们可以用一个自定义函数来完成这项操作。
实例六:从字符串中删除数字
如下面的截图:
A列为混有数字的字符串,要求把数字去掉,然后把去掉数字后的字符串放入B列。我们利用的仍是Replace函数,依次替换每个数值为空即可。
下面看我给出的代码:
Sub mynzF()
Sheets("Sheet2").Select
Set MyRange = Range("A2:A9")
'遍历循环提取字符串
For Each myCell In MyRange.Cells
myInput = myCell.Value
myCell.Offset(0, 1).Value = ""
myCell.Offset(0, 1).Value = removenumbers(myInput)
Next
End Sub
Function removenumbers(ByVal myInput As String) As String
Dim x As Integer
Dim tmp As String
tmp = myInput
'从输入字符串中删除0到9之间的数字
For x = 0 To 9
tmp = Replace(tmp, x, "")
Next
'返回结果字符串
removenumbers = tmp
End Function
代码截图:
代码讲解:
以上代码利用了一个自定义函数过程将字符串中的数字删掉。在删除的时候利用了tmp = Replace(tmp, x, ""),就是将字符串中的数字替换掉。
最后我们看代码的运行结果:
待续
本讲内容参考程序文件:应用007.xlsm
我20多年的VBA实践经验,全部浓缩在下面的各个教程中: