使用excel从特定字符中删除序列

我有6栏和65000单元与大多数相同的以下竞争; A1 =电器〜照明〜手电筒〜灯笼〜富尔顿〜防水…

F4 =电器〜照明〜手电筒〜灯笼〜富尔顿〜防水

我需要分别用“电气,照明,手电筒,灯笼,富尔顿,防水”的每一栏,所以结果将是每列的每个名称。

谢谢

亚历克斯

在VBA中,您可以使用Split()函数,但不能用作工作表函数。
否则,这是Excel中build立的:菜单Data ,选项Text to column
如果您需要对其进行编程,请使用录像机,如果遇到问题,请回复编程问题。

这是一个使用VBA和双转置数组(非常漂亮的技巧)的方法。 UDPATE :不需要双重转置数组(谢谢,JFC!)。 固定的代码。

 Sub SplitEmUp() Application.ScreenUpdating = False Dim lastRow As Long Dim cell As range Dim items As Variant lastRow = range("A" & Rows.count).End(xlUp).Row For Each cell In range("A1:A" & lastRow) If InStr(cell, " ~ ") Then items = Split(cell, " ~ ") range(cell.Address).Resize(, UBound(items)).Value = items End If Next Application.ScreenUpdating = True End Sub