请教VBA正则表达式运行中的报错
问题:Excel VBA 运行时错误:‘5’ 无效的过程调用或参数。调试出错误出现在 (Range("AE" & i) = outv(0).SubMatches(0))这一行
发生背景:输入数据是类似于(V02)的文字类型,我想要通过正则表达式取V后面的两位数字,将取出的数字放在另外一列。
Sub splitvolt()
Set reg2 = CreateObject("vbscript.regexp")
‘正则表达式,想要取V后面的两位数字
reg2.Pattern = "V[0-9]{2}"
reg2.Global = True
i = 2
Do While Range("A" & i) <> ""
‘数据存在AC列中
vnum = Range("AC" & i).Value
Set outv = reg2.Execute(vnum)
If outv.Count > 0 Then
‘下一行为调试时显示的出错位置
Range("AE" & i) = outv(0).SubMatches(0)
End If
i = i + 1
Loop
Set reg2 = Nothing
Set outv = Nothing
End Sub
无法产出运行结果
报错内容:运行时错误:‘5’ 无效的过程调用或参数
将正则表达式挑出的两位数字放进AE列中
Sub splitvolt()
Set reg2 = CreateObject("vbscript.regexp")
'正则表达式,想要取V后面的两位数字
reg2.Pattern = "V([0-9]{2})"
reg2.Global = True
i = 2
Do While Range("A" & i) <> ""
'数据存在AC列中
vnum = Range("AC" & i).Value
Set outv = reg2.Execute(vnum)
For Each Item In outv
Debug.Print Item.submatches(0)
Range("AE" & i) = Item.submatches(0)
Next
i = i + 1
Loop
Set reg2 = Nothing
Set outv = Nothing
End Sub