VBA。替换数组中的数据

时间:2016-02-04 15:29:13

标签: arrays vba excel-vba excel

我有一个像这样的数组Dim RG4()As String - 数组的名称

0 (XX-AA-2345)
1 (XX-DA-2454)
2 (XX-CD-9476) 
3 (XX-AA-4711)
4  ...

我想替换整个阵列“XX-DA-”的beggning对于标准的东西,例如在所有这些中提出“XX-AA-(数字)”。

我做了一些研究,但我找不到任何可以在这里工作的东西。

3 个答案:

答案 0 :(得分:2)

选择您的单元格并运行:

Sub Lastra()
   Dim r As Range
   Set r = Selection
   r.Replace what:="XX-DA", replacement:="XX-AA"
End Sub

修改#1:

对于 VBA 数组,您可以使用循环:

Sub qwerty()
   Dim RG4(0 To 3), i As Long

   RG4(0) = "0 (XX-AA-2345)"
   RG4(1) = "1 (XX-DA-2454)"
   RG4(2) = "2 (XX-CD-9476)"
   RG4(3) = "3 (XX-AA-4711)"

   For i = 0 To 3
      RG4(i) = Replace(RG4(i), "XX-DA", "XX-AA")
   Next i
End Sub

答案 1 :(得分:1)

For Each Thing in MyArray
    Thing = Replace(thing, "XX", "WhatEverYouWant", 1, 1)
Next

您还可以使用MidLeftRight和字符串连接(&)。

替换替代方案是一个RegExp。

请参阅帮助https://www.microsoft.com/en-au/download/details.aspx?id=2764

答案 2 :(得分:1)

Sub replaceDATA()
 For Each item In UrArray
     item = Replace(item, Left(item, 6), "Your expected string")
 Next
End Sub