我有6列和65000个单元格,大部分内容是相同的;A1 =电气~照明~手电筒~灯笼~富尔顿~防水...
F4 =电气~照明~手电筒~灯笼~富尔顿~防水
我希望每个列与“电气,照明,手电筒,灯笼,富尔顿,防水”分别,所以结果将是每个列上的名称。
谢谢
亚历克斯
发布于 2012-03-10 06:56:27
在VBA中,您可以使用Split()函数,但它不能用作工作表函数。
否则,这已经是Excel内置的了: menu Data,option Text to column。
如果您需要对其进行编程,请使用记录器,如果遇到问题,请带着编程问题回来。
发布于 2012-03-10 12:10:09
这里有一种使用VBA和双重转置数组的方法(一个非常巧妙的技巧)。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 Subhttps://stackoverflow.com/questions/9641866
复制相似问题