如何使用vba替换字符串中的特定位置

如何使用vba替换字符串中的特定位置

我想替换文本文件字符串中的一个值。
如果我尝试使用 Replace 方法替换该值,所有相同的值都会被替换。
我只想替换字符串中特定位置的值。

例如
00, 0, 0 => 00, 1, 0 (OK)
00, 0, 0 => 11, 1, 1 (NO)

提前致谢

答案1

有 4 种不同的方法可以替换01但对于您的情况,只有两种可用。

  1. 工作表函数.Replace()

    WorksheetFunction.Replace( old_text, start, number_of_chars, new_text )

  2. 工作表函数.Substitute()

    WorksheetFunction.Substitute(text, oldtext, newtext, [nth_appearance] )

  3. 代替()

    Replace( Expression, Find, Replace, [Start, [Count, [Compare]]] )

  4. 范围.替换()

    Range.Replace( What, Replacement, [LookAt], [SearchOrder], [MatchCase], [SearchFormat], [ReplaceFormat] )

Input        VBA code                                      Output

在此处输入图片描述 在此处输入图片描述

答案2

非常感谢您的回答。
我已经使用 Split 和 Join 函数进行了开发。

代码:

Dim Arr() As String
Arr = Split("00, 0, 0", ",")
Arr(1) = "1"
newLine = Join(Arr, ",") '变为 "00, 1, 0"

相关内容