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参数将删除提供的字符数并显示剩余结果。