|
|
借楼学习一下正则
Sub test()
arr = [a9].CurrentRegion
Set reg = CreateObject("vbscript.regexp")
reg.Pattern = "\d+"
reg.Global = True
lastr = Cells(Rows.Count, "f").End(xlUp).Row
brr = Range("e6:t" & lastr)
For i = 2 To UBound(brr)
If brr(i, 2) <> "" Then
If brr(i, 1) = "" Then
brr(i, 1) = brr(i - 1, 1)
End If
End If
Next
For i = 2 To UBound(arr)
For j = 2 To UBound(brr)
If arr(i, 1) = brr(j, 1) Then
Set mh = reg.Execute(arr(i, 2))
If mh(0) & "年" = brr(j, 2) Then
For k = 5 To UBound(brr, 2)
If mh(1) & "月份" = brr(1, k) Then
arr(i, 3) = Round(brr(j, k), 1)
GoTo x
End If
Next
End If
End If
Next
x:
Next
[a9].CurrentRegion = arr
End Sub |
评分
-
2
查看全部评分
-
|