ANo.1です。
Sub test()
Dim RegExp As Object
Dim r As Range
Dim rr As Range, rs As Range
Dim i As Integer, j As Integer
Dim match, v
ReDim v(1 To 1, 1 To 6)
Set RegExp = CreateObject("VBScript.Regexp")
RegExp.Pattern = "\d+"
RegExp.Global = True
i = 7
For Each r In Range("D1", Cells(Rows.Count, 4).End(xlUp))
If InStr(r.Value, "(") And rr Is Nothing Then
Set rr = r.Resize(3)
For j = 1 To 3
v(1, j) = Split(Replace(rr.Item(j).Value, ")", ""), "(")(0)
v(1, j + 3) = Split(Replace(rr.Item(j).Value, ")", ""), "(")(1)
Next
rr.Item(1).Offset(, 1).Resize(, 6).Value = v
ReDim v(1 To 1, 1 To 6)
With rr.Resize(1).Offset(3)
If RegExp.test(.Value) Then
For Each match In RegExp.Execute(.Value)
rr.Item(1).Offset(, i).Value = match.Value
i = i + 1
Next
End If
End With
ElseIf LenB(r.Value) < 1 Then
Set rr = Nothing
i = 7
End If
Next
Set RegExp = Nothing
Set rr = Nothing
Erase v
End Sub
ご参考程度に。
お礼
完璧に希望通りの動きでした! 面倒な事を何度もやっていただけて本当に感謝しております。 VBA入門サイトを見ても序盤のところから分からなくて 途方に暮れておりましたが、がんばって勉強してみたいと思います。 前回の質問に引き続き、本当にどうもありがとうございました。