

Option Explicit
Sub 单元格分列填充()
Dim i, j, k, a, m, t
a = Range("b2:h" & [b2].End(xlDown).Row).Value
ReDim b(1 To 10 ^ 4, 1 To UBound(a, 2)) As String
For i = 1 To UBound(a)
If InStr(a(i, 7), vbLf) Then
t = Split(a(i, 7), vbLf)
For j = 0 To UBound(t)
If Len(t(j)) Then
m = m + 1
For k = 1 To UBound(a, 2) - 1
b(m, k) = a(i, k)
Next
b(m, k) = t(j)
End If
Next
Else
m = m + 1
For j = 1 To UBound(a, 2)
b(m, j) = a(i, j)
Next
End If
Next
[b2].Offset(, UBound(a, 2) + 1).Resize(m, UBound(b, 2)) = b
End Sub