字符串中删除所有空格(从字符串中删除数字和空格)
【分享成果,随喜正能量】做事遇到困难只是一种过程,就如大石横路,懦者视为行路的绊脚石,勇者却认为是进步的踏脚石;有”力量”者,没有所谓的困难。。
《VBA经典应用69例》,是我推出的第九套教程,教程是专门针对初级、中级学员在学习VBA过程中可能遇到的案例展开,这套教程案例众多,紧贴“实战”,并做“战术总结”,以便大家能很好的应用。教程的目的是要求大家在实际工作中要利用好VBA。本套教程共三册六十九个专题,今日内容是教程的应用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, ""),就是将字符串中的数字替换掉。
最后我们看代码的运行结果:
6 删除字符串前缀空格和后缀空格
我们最后来分析一个较为简单的应用场景,就是删除字符串前缀空格和后缀空格,这里利用到TRIM函数,这个函数用于输入inputbox对话框较多,以避免用户误输入空格。这里我们利用这个函数去除字符串的前缀空格和后缀空格(除了单词之间的单个空格外)。
这个函数还有另外与之相仿的函数LTrim、Rtrim。使用LTrim函数去除前导空格, 使用RTrim函数从字符串变量中去除尾部空格。
我们看下面的实例:
实例七:删除字符串前缀空格和后缀空格
我们以下面的实例来讲解一下上述三个函数的应用:
Sub mynzG()
Dim MyString, TrimString
MyString = " <-Trim-> " '初始化字符串
TrimString = LTrim(MyString) ' TrimString = "<-Trim-> "
MsgBox TrimString
TrimString = RTrim(MyString) ' TrimString = " <-Trim->"
MsgBox TrimString
TrimString = LTrim(RTrim(MyString)) ' TrimString = "<-Trim->"
MsgBox TrimString
' 单独使用Trim函数可以获得相同的结果。
TrimString = Trim(MyString) ' TrimString = "<-Trim->"
MsgBox TrimString
End Sub
代码截图:
代码的讲解:(略)
代码的运行结果:我在代码中已经给出,不再做截图了。
引申:如何删除字符串中间的空格呢?利用Replace(MyString, " ", " ")可以将字符串中的两个空格" ",替换成一个空格" ",也可以利用Replace(MyString, " ", "")将字符串中的空格替换掉。
结论:在上面的示例中我们看到 Excel VBA 中的文本操作确实需要一些创造力。没有单一的通用方法从字符串中删除字符,这些字符可以服务于所有场景。替换功能是最重要的功能。在某些情况下,还必须应用左、右、修剪、Instr功能。
今日内容回向:
1 如何删除字符串中的字符?
2 如何删掉字符串中连续的三个数字字符?
本讲内容参考程序文件:应用007.xlsm
我20多年的VBA实践经验,全部浓缩在下面的各个教程中:
【分享成果,随喜正能量】再努力一下,耐心点,一切都有最好地安排,只要心中一直期待,美好就会如约而来,幸福就会不期而遇。。
,免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com