我有6列和65000个单元格,大多数相同的后续对手; A1 =电气〜照明〜手电筒〜灯笼〜富尔顿〜防水 ...
F4 =电气〜照明〜手电筒〜灯笼〜富尔顿〜防水
我希望每一列分别包含“电气,照明,手电筒,灯笼,富尔顿,防水”,因此结果将是每列的每个名称。
谢谢
亚历
答案 0 :(得分:3)
在VBA中,您可以使用Split()函数,但它不能用作工作表函数
否则,这已经在Excel中构建:菜单Data
,选项Text to column
如果您需要对其进行编程,请使用录音机并在遇到问题时返回编程问题。
答案 1 :(得分:2)
这是使用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