【问题标题】:Split cell string into individual cells将单元格字符串拆分为单个单元格
【发布时间】:2012-10-22 21:27:21
【问题描述】:

我无法将单个单元格的值拆分为两个不同的字符串并将这两个字符串放在不同的单元格中。

例如,我想在一个单元格中测量10ft x 20ft 值并将10ft 放入另一个单元格,然后将20ft 放入一个完全不同的单元格中。

我想使用分隔符x 或其他东西,但我只是不知道如何处理这些分隔符并在拆分后对其进行处理。

任何提示将不胜感激。我对 VBA 宏还是很陌生。

谢谢

【问题讨论】:

    标签: excel vba excel-formula


    【解决方案1】:

    最好的解决方案是使用 SPLIT

    Dim strX As String
    Dim sx() As String
    Dim i as Integer
    strX = "10FT x 20FT"
    sx = Split(strX, "x")
    

    或者你可以使用instr函数

    Dim sVar1 as string
    Dim sVar2 as string
    
    I = InStr(1, strX, "x")
    

    现在你知道在哪里可以拆分 int 两个变量

    sVar1 = mid(strX, 1, I)
    sVar2 = mid(strx,i+1)
    

    函数的问题在于,如果链中有多个要用来分隔函数的键,则函数将返回一个更大的数组。 例如: 将 var 变暗为字符串 var = "x 20XP 10XP"

    返回

    array (0) = "10"
    array (1) = "p"
    array (2) = "20"
    array (3) = "p"
    

    【讨论】:

    • 谢谢,我也会尝试这种变化。
    【解决方案2】:

    您实际上并不需要 VBA。您可以使用 Excel 的 Text to Columns

    例如,在

    1. 数据..... 文本到列
    2. 选择delimited,然后按下一步
    3. 选中空格并在其他中输入“x”,然后按下一步
    4. 完成

    【讨论】:

    • 哇,这很方便。我不知道那是在那里。显示我知道多少。但是,由于在手动部分工作后我会自动执行此操作,因此我将使用 VBA 为我做这件事。
    • @cheapkid1 如果 Text to Columns 有效,那么您也可以在 VBA 中使用它。
    【解决方案3】:

    我想我只是需要再努力一点。

    Sub Split_CutArea()
    Dim str1() As String
    Dim str2() As String
    Dim avarsplit As Variant
    
    avarsplit = Split(Cells(4, "B").Value, "x")
    splitValues = Split(ActiveSheet.Cells(4, "B").Value)
    
    ActiveSheet.Cells(22, "B").Value = splitValues(0) & splitValues(1)
    ActiveSheet.Cells(23, "B").Value = splitValues(3) & splitValues(4)   
    End Sub
    

    【讨论】:

    • 谢谢,其他的“End Sub”是公共类的一部分,所以我只是展示了应用的部分,下次我会更加小心地删除不属于的部分。
    猜你喜欢
    • 1970-01-01
    • 2017-05-24
    • 2013-01-29
    • 2018-03-23
    • 1970-01-01
    • 1970-01-01
    • 2014-01-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多