[英]Excel split string loop
我有4个不同的范围。 我需要拆分这些范围的内容。 因此该单元格包含; 汤姆·杰里·布吉斯(Tom Jerry Bugs)兔子小杰克·斯派洛(Bob) 我想将其分为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.
在这个问题上的任何帮助,将不胜感激! 谢谢。
为什么要重新发明轮子? 您可以只使用TextToColumns
。 例如:
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
您可以在For内部使用For。 就像是,
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下一个
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.