2016-09-16 44 views

回答

1

这里是我的方法基于正则表达式使用来自另一个范围列表,以在Excel范围更换:

Sub regexpreplace() 
Set Myrange = ActiveSheet.Range("A2:A1000") 'range in which we make replace 
Set regrange = ActiveSheet.Range("B2:B6") 'range with RegExp pattern 
'in range C1:C6 we have pattern for replace 

    For Each D In regrange 

     For Each C In Myrange 
      Set rgx = CreateObject("VBScript.RegExp") 
      rgx.IgnoreCase = True 
      rgx.Pattern = D.Value 
      rgx.Global = True 
      C.Value = rgx.Replace(C.Value, D.Offset(0, 1).Value) 
     Next 

    Next 
End Sub 

在此代码:

  • A1:A1000 - 范围与输入值
  • B1:B6 - 的正则表达式模式列表
  • C1:C6 - 输出模式列表

使用脚本的一些例子: enter image description here