簡體   English   中英

按單元格內的數字拆分單元格

[英]Split Cell by Numbers Within Cell

我有一些字段需要拆分為不同的單元格。 它們的格式如下:

任務編號21 0 21

任務編號5 1 6

所需的輸出將是4個單獨的單元。 第一個將包含字符串“使命中的數字”中的單詞,隨后的單元將具有每個數字,該數字由空格確定。 因此,對於第一個示例,要提取的數字將是21、0、21。每個數字都位於字符串值旁邊的自己的單元格中。 第二個:5、1、6

我嘗試使用拆分函數,但不確定如何具體定位數字,以及如何根據分隔它們的空格來標識數字。

與您的第一種情況(任務人數)相關的簡單解決方案如下所示:

Sub SplitCells()
Const RowHeader As String = "Numbers on Mission"
Dim ArrNum As Variant
ArrNum = Split(Replace(Range("A1"), RowHeader, ""), " ")
For i = 1 To UBound(ArrNum)
    Cells(1, i + 2) = ArrNum(i)
Next
Cells(1, 2) = RowHeader
End Sub

同樣的邏輯適用於您的第二種情況。 希望這會有所幫助。

除非我忽略了某些內容,否則您可能根本不需要VBA。 您是否嘗試過“文本到列”選項? 如果選擇包含要拆分信息的單元格,然后轉到“數據”->“文本到列”。 在這里,您可以選擇“定界”,然后選擇一個空格作為定界符,這會將您的數據拆分為多個單元格,並按空格將其拆分。

編輯:剛剛意識到,這也會拆分您的字符串。 在這種情況下,當您位於“文本到列”的第3部分時,請選擇一個不包含數據單元格的刪除單元格。 (即,如果您的數據在A1中,請選擇B1作為目標,然后它將拆分信息放在此處。然后只需將文本列與=B1&" "&C1&" "&D1類的東西組合在一起)

我能夠使用以下方法正確分割值:

 If i.Value Like "*on Mission*" Then

x = Split(i, " ")

    For y = 0 To UBound(x)

    i.Offset(0, y + 1).Value = x(y)

    Next y

End If

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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