VBA替换字符串|如何使用VBA替换字符串中的文本?
Excel VBA替换字符串
替换是工作表功能和VBA功能。此功能可帮助我们将字符串中的特定单词替换为另一个字符串。它的工作方式类似于VBA中的“替换”功能。
在处理测试字符串或文本数据值时,很明显的事情是用其他东西替换或替换某些东西,将两个单元格数据合并为一个或将一个单元格数据拆分为多个。这些都是我们每天在工作场所日常执行的常见任务。
那么,我们如何用另一个单词替换字符串中的一个单词呢?例如,如果字符串为“印度是发展中国家,印度在亚洲国家”,则需要从该字符串中替换单词“印度”,并将其更改为“巴拉特”。
通过使用“替换”功能可以做到这一点。在本文中,我们将向您展示如何在VBA编码中替换字符串。
替换功能
- 表达: 这不过是原始字符串值,我们正在尝试使用原始字符串值替换某些内容。下面的例子是表达式字符串–“印度是发展中国家,印度在亚洲国家”
- 查找字符串: 我们要替换的字符串是什么。例如在 表达 字符串,我们正在尝试替换“印度”一词。
- 替换字符串: 什么是我们替换的替代字符串 查找字符串 和?因此,在这种情况下,我们试图将“印度”一词替换为“巴拉特”。
- [开始]: 这是一个可选参数。在上面的字符串(表达式)中,我们有两个单词“ India”,因此从哪个位置 查找字符串 我们需要开始更换过程。例如,如果我们说2,它将开始从第二个位置开始替换单词“印度”。
- [数数]: 如果 查找字符串 多次出现 表达 那么我们需要替换多少个单词。
例如,如果单词“印度”出现5次,并且您提供的计数为3,则它将仅替换前3个单词“印度”。
如何使用VBA替换字符串中的文本?
您可以在此处下载此VBA替换字符串Excel模板– VBA替换字符串Excel模板范例#1
现在,我们将尝试从下面的字符串值中将“印度”一词替换为“巴拉特”。
“印度是发展中国家,印度是亚洲国家”
首先,立即启动excel宏过程。
代码:
子Replace_Example()结束子
将VBA变量定义为String。
代码:
Sub Replace_Example()Dim NewString作为字符串结尾Sub
在此变量中,将“印度”替换为“巴拉特”后,我们将显示新的字符串值。对于此变量,请打开“替换”功能。
此函数的第一个参数是“表达式”,即我们试图从哪个字符串替换一个单词,因此复制并粘贴字符串“印度是发展中国家,印度在亚洲国家”。
下一个参数是“查找字符串”,即我们需要替换哪个单词,即“印度”。
下一个参数是“替换字符串”,即我们需要用哪个字符串替换单词“印度”,即“巴拉特”。
好的,到目前为止,请忽略其余的参数。现在,在消息框中显示结果。
代码:
Sub Replace_Example()Dim NewString As String NewString = Replace(“印度是发展中国家,印度是亚洲国家”,“印度”,“巴拉特”)MsgBox NewString End Sub
让我们使用F5键或手动运行代码,然后查看新的字符串结果。
好的,无论我们在何处使用“印度”一词,都应将其替换为“巴拉特”一词,看看上面的结果。
范例#2
现在,我们将看到如何将相同的代码与变量一起使用。看下面的代码。
代码:
Sub Replace_Example1()Dim NewString as String Dim MyString As String Dim FindString As String Dim ReplaceString As String MyString =“印度是发展中国家,印度是亚洲国家” FindString =“印度” ReplaceString =“ Bharath” NewString = Replace(MyString ,FindString,ReplaceString)MsgBox NewString End Sub
在上面的代码中,我声明了另外三个变量。
Dim MyString作为字符串Dim FindString作为字符串Dim ReplaceString作为字符串
对于这些变量,我已分配了值,而不是提供 表达式字符串,查找字符串和替换字符串 我们将只提供变量给Replace函数。
这段代码也给出了相同的结果,但是唯一的区别是我们使用了变量,而不是直接向函数提供值。
例子#3
假设您只想从第二个位置替换“印度”一词,那么我们需要使用“替换”功能参数 [“开始”]。 请看下面的代码以获取信息。
代码:
Sub Replace_Example2()Dim NewString作为字符串Dim MyString作为字符串Dim FindString作为字符串Dim ReplaceString作为String MyString =“印度是发展中国家,印度是亚洲国家” FindString =“印度” ReplaceString =“ Bharath” NewString = Replace(MyString ,FindString,ReplaceString,Start:= 34)MsgBox NewString End Sub
我们从前面的代码中添加的唯一一件事是“ Start”参数,为34。现在运行代码并查看结果。
现在,我们只能看到在字符串的第34个字符之后用“印度”替换为“巴拉特”的字符串。
例子#4
现在举一个例子,如果我们只想将单词“ India”的第一次出现替换为“ Bharath”,那么我们需要使用 [“数数”] “替换”功能的参数。
以下是适合您的代码。
代码:
Sub Replace_Example3()Dim NewString作为字符串Dim MyString作为字符串Dim FindString作为字符串Dim ReplaceString作为String MyString =“印度是发展中国家,印度是亚洲国家” FindString =“印度” ReplaceString =“ Bharath” NewString = Replace(MyString ,FindString,ReplaceString,Count:= 1)MsgBox NewString End Sub
手动或通过F5键运行代码,然后查看结果。
正如您在上面看到的,它仅将单词“ India”的第一个出现替换为“ Bharath”,而第二个实例保持不变。
这里要记住的事情
- Replace是VBA中的字符串函数系列。
- 在VBA中,如果未指定count参数,则replace函数将所有提供的单词替换为替换的字符串。
- start参数将删除提供的字符数并显示剩余结果。