使用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