Add a worksheet named "Sheet2".
Sub test()
Dim a, b, e, s, i As Long, n As Long, t As Long, m As Object
a = Sheets("sheet1").Cells(1).CurrentRegion.Resize(, 2).Value
ReDim b(1 To UBound(a, 1) * 100, 1 To 5)
With CreateObject("VBScript.RegExp")
.Global = True
.Pattern = "\b(.+?)\u00A3 *([1-9]\d{0,2}(,\d{3})*\.\d{2})"
For i = 1 To UBound(a, 1)
For Each e In Split(a(i, 1), vbLf)
If e <> "" Then
n = n + 1: b(n, 1) = Trim$(Split(e, "-")(0))
s = Split(e, "-")(1)
For Each m In .Execute(s)
t = IIf(m.submatches(0) Like "bill*", 2, 4)
b(n, t) = m.submatches(0)
b(n, t + 1) = m.submatches(1)
Next
End If
Next
Next
End With
Sheets("sheet2").[a2].Resize(n, 5) = b
End Sub
Bookmarks