问题遇到的现象和发生背景
请教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列中