我有一个包含大约 4000 行数据的电子表格,其中一列数据具有唯一的订单号,我想使用“/”作为分隔符来分隔它们。所以本质上我想要:
Name Order# Date
Jane 123/001/111 08/15/2013
Gary 333/121 09/01/2013
Jack 222 09/02/2013
看起来像这样:
Name Order# Date
Jane 123 08/15/2013
Jane 001 08/15/2013
Jane 111 08/15/2013
Gary 333 09/01/2013
Gary 121 09/01/2013
Jack 222 09/02/2013
我对 VBA 还很陌生,所以我决定尝试在谷歌上找到一个解决方案,在那里我发现了这段漂亮的代码。
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim ans
Dim Cels As Long, i As Long
Cancel = True
ans = Split(Target, ":")
Cels = UBound(ans)
Target.Offset(1).Resize(Cels).EntireRow.Insert shift:=xlDown
Rows(Target.Row).Copy Cells(Target.Row + 1, "A").Resize(Cels)
For i = 0 To Cels
Target.Offset(i) = ans(i)
Next
End Sub
它工作得很好,但是这个宏的作用方式是你必须双击行来分隔值。我希望的是一种通过 For 循环传递此函数的方法,以便它在整个电子表格中执行。