Excel 如何将宏应用于整个列?
我有一个宏,当运行它时,它将值分隔到行中的不同单元格中。分隔符是两个或两个以上的空格。这是一个例子,所有这些都在一个单元格中Excel 如何将宏应用于整个列?,excel,vba,Excel,Vba,我有一个宏,当运行它时,它将值分隔到行中的不同单元格中。分隔符是两个或两个以上的空格。这是一个例子,所有这些都在一个单元格中 One Space Two Spaces Three Spaces 将成为: One Space Two Spaces Three Space 每个单词都在自己的单元格中 我有一整列,大约300000行,数据与此类似,我想知道如何将以下宏应用于整列 Dim rng As Range Dim txt As String Dim FullName() A
One Space Two Spaces Three Spaces
将成为:
One Space Two Spaces Three Space
每个单词都在自己的单元格中
我有一整列,大约300000行,数据与此类似,我想知道如何将以下宏应用于整列
Dim rng As Range
Dim txt As String
Dim FullName() As String
Dim i As Long, colOffset As Long
Set rng = ActiveCell
txt = rng.Value2
FullName = Split(txt, String(2, " "))
For i = LBound(FullName) To UBound(FullName)
If Not WorksheetFunction.Trim(FullName(i)) = vbNullString Then
Debug.Print WorksheetFunction.Trim(FullName(i))
colOffset = colOffset + 1
rng.Offset(0, colOffset).Value2 = WorksheetFunction.Trim(FullName(i))
End If
Next i
这将按空格将选定的单元格拆分为右侧的列
For Each c In Selection.Cells
cellvalues = Split(WorksheetFunction.Trim(c.Value), " ")
c.Offset(0, 1).Resize(1, UBound(cellvalues)).Value = cellvalues
Next
只需删除
偏移量(0,1)。
部分即可覆盖这些值。您可以使用动态范围或由代码标识的范围,而不是选择
。在某种程度上,您似乎正在重新创建“文本到列”功能。