簡體   English   中英

Excel拆分字符串循環

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM