使用替换函数

时间:2016-08-10 19:55:11

标签: excel vba excel-vba

我有一个如下所示的数据集:

  1. 2Ard-7
  2. 2Ard-99
  3. 1RPI-35
  4. 1RPI-34
  5. 1RPI-39
  6. 1RPI-38
  7. 我试图循环使用这个并用不同的名称替换每个单元格的部分。这是我到目前为止的代码:

    Dim CompPin() As String
    Dim AutoPin() As String
    Dim Item As Variant
    
    CompPin() = Split("1ARD 2ARD 1RPI 2RPI")
    AutoPin() = Split("PB1A PC1A PF1A PF2B")
    
    For Each Item In CompPin
        Worksheets("Demo").Columns("D").Replace What:=CompPin(Item), Replacement:=AutoPin(Item), LookAt:=xlPart
    Next
    

    当我运行此代码时,我得到类型不匹配。任何见解都会有所帮助。

2 个答案:

答案 0 :(得分:2)

试试这个

CompPin() = Split("1ARD 2ARD 1RPI 2RPI")
AutoPin() = Split("PB1A PC1A PF1A PF2B")

For n = 0 To UBound(CompPin)
    Worksheets("Demo").Columns("D").Replace What:=CompPin(n), Replacement:=AutoPin(n), LookAt:=xlPart
Next

答案 1 :(得分:0)

另一种选择可能是“双重拆分”:

Sub main()
    Dim CompAutoPin() As String
    Dim Item As Variant

    CompAutoPin() = Split("1ARD-PB1A 2ARD-PC1A 1RPI-PF1A 2RPI-PF2B")    
    For Each Item In CompAutoPin
        Worksheets("Demo").Columns("D").Replace What:=Split(Item, "-")(0), Replacement:=Split(Item, "-")(1), LookAt:=xlPart
    Next Item
End Sub