Vba Excel分割字符串循环

Vba Excel分割字符串循环,vba,excel,Vba,Excel,我有4个不同的范围。我需要拆分这些范围的内容。因此,细胞中含有; 汤姆·杰瑞讨厌兔子杰克·斯派洛·鲍勃。我想把它分成7个不同的单元。我在互联网上搜索过,发现了如何使用以下代码执行这样的拆分 Dim text As String Dim a As Integer Dim name As Variant text = ActiveCell.Value name = Split(text, " ") For a = 0 To UBound(name) Cells(1, a + 1).Value = n

我有4个不同的范围。我需要拆分这些范围的内容。因此,细胞中含有; 汤姆·杰瑞讨厌兔子杰克·斯派洛·鲍勃。我想把它分成7个不同的单元。我在互联网上搜索过,发现了如何使用以下代码执行这样的拆分

Dim text As String
Dim a As Integer
Dim name As Variant
text = ActiveCell.Value
name = Split(text, " ")
For a = 0 To UBound(name)
Cells(1, a + 1).Value = name(a)
Next a
我的问题是我需要在一个循环中使用它,所以它将通过一个范围,比如说(“H1:H200”),这就是如果我被卡住了,我已经启动了循环,但无法让拆分在其中工作。以下是我的循环的开始:

Dim rCell As Range
Dim rRng As Range

Set rRng = Range("H1:H200")
For Each rCell In rRng.Cells
 'split string here.

在此问题上的任何帮助都将不胜感激!谢谢。

为什么要重新发明轮子?你可以用它。例如:

Dim rCell As Range
Dim rRng As Range

Set rRng = Range("H1:H200")
For Each rCell In rRng.Cells
    rCell.TextToColumns Destination:=rCell.Offset(0, 1), Space:=True
Next

你可以在里面用。大概

Dim txtStr As String
Dim aCtr As Integer
Dim nameVar() As String
Dim rCell As Range
Dim rRng As Range

Set rRng = Range("H1:H200")
For Each rCell In rRng.Cells
    txtStr = rCell.Value
    nameVar = Split(txtStr, " ")
    For aCtr = 0 To UBound(nameVar)
        Cells(1, aCtr + 1).Value = nameVar(aCtr)
    Next
Next

最后我自己得出了这个结论,谢谢你的回答

Dim bb As Integer
Dim text As String
Dim aa As Integer
Dim name As Variant
Dim cc As Range
Dim rng As Range
bb = 2
Set rng = Range("H2:H200")
For Each cc In rng
 text = cc.Value
 name = Split(text, " ")
 For aa = 0 To UBound(name)
 'Ubound finds the end of an array
 Cells(bb, aa + 1).Value = name(aa)
Next aa
bb=bb+1 下一个