Sub splitting()
startRow = 3 '已知妳的表裏面待拆分數據是從第三行開始的。
endrow = ActiveSheet.Range("A65535").End(xlUp).Row 'A列從第65535行開始倒數,直到不為空(這樣找出A列最下壹行有數據的)
i = startRowrowx = 1
Do While i <= endrow 'A列從第三行開始用循環遍歷
nameQty = UBound(Split(Cells(i, 2), ";", , vbTextCompare)) + 1 '以分號作為拆分符,拆當前行的第二列,得到拆出的字段數
For j = 1 To nameQty '遍歷拆出來的字段
Cells(rowx + 2, 5).Value = Split(Cells(i, 2), ";", , vbTextCompare)(j - 1)
Cells(rowx + 2, 4).Value = Cells(i, 1).Valuerowx = rowx + 1
Next
rowx = rowx - 1
i = i + 1
Loop
End Sub