我正在处理一个数据样本,希望按逗号分隔符将其拆分为多行。在拆分之前,我的Excel数据表如下所示:
我想开发VBA代码来拆分C列(“公司联系人”)的值,并为每个“公司联系人”创建单独的行。
到目前为止,我已经成功地将C列中的值拆分为单独的行。然而,我还没有成功地将D列(关系长度)和E列(关系强度)中的值拆分成对应于C列中其各自联系人的逗号分隔值。
最终我希望我的表格看起来像这样:
以下是我借用的代码样例,它的局限就是仅能拆分表格中的一列。
请问我该如何修改代码使它能够拆分其他列中的值?
我想开发VBA代码来拆分C列(“公司联系人”)的值,并为每个“公司联系人”创建单独的行。
到目前为止,我已经成功地将C列中的值拆分为单独的行。然而,我还没有成功地将D列(关系长度)和E列(关系强度)中的值拆分成对应于C列中其各自联系人的逗号分隔值。
最终我希望我的表格看起来像这样:
以下是我借用的代码样例,它的局限就是仅能拆分表格中的一列。
请问我该如何修改代码使它能够拆分其他列中的值?
Sub Splt()
Dim LR As Long, i As Long
Dim X As Variant
Application.ScreenUpdating = False
LR = Range("A" & Rows.Count).End(xlUp).Row
Columns("A").Insert
For i = LR To 1 Step -1
With Range("B" & i)
If InStr(.Value, ",") = 0 Then
.Offset(, -1).Value = .Value
Else
X = Split(.Value, ",")
.Offset(1).Resize(UBound(X)).EntireRow.Insert
.Offset(, -1).Resize(UBound(X) - LBound(X) + 1).Value = Application.Transpose(X)
End If
End With
Next i
Columns("B").Delete
LR = Range("A" & Rows.Count).End(xlUp).Row
With Range("B1:C" & LR)
On Error Resume Next
.SpecialCells(xlCellTypeBlanks).FormulaR1C1 = "=R[-1]C"
On Error GoTo 0
.Value = .Value
End With
Application.ScreenUpdating = True
End Sub