宏 - 使用令牌在单元格中拆分文本

时间:2012-12-13 10:44:06

标签: excel excel-vba vba

我有一个值为

的单元格
XX 99999 - X99, XX 99999 - X99, XX 99999 - X99

X - 表示字母 9 - 表示数字

我必须阅读这个单元格和

  • 使用“,”拆分它以获取XX 99999 - X99
  • 的数组
  • 之后使用“”和“ - ”吐出来获取xx99999X99的数组。

这可以不使用“text to column”,即在Excel中使用某些功能吗? 因为我需要使用分离的内容来过滤其他一些数据。

1 个答案:

答案 0 :(得分:3)

查看MSDN上的Split函数。以下分为两部分。

  1. 下面的代码首先拆分字符串并将每个逗号分隔的值分配给strSplit。
  2. 然后进一步将子字符串拆分为“”并将每个片段分配给pieceSplit(),然后将其输出到即时窗口。
  3. 您可以更改并应用于项目的最后一部分。

    Dim str As String, piece As Variant
    Dim strSplit() As String, pieceSplit() As Variant
    Dim i As Double, j As Double
    
    str = "XX 99999 - X99, XX 99999 - X99, XX 99999 - X99"
    
    strSplit = Split(str, ",")
    ReDim pieceSplit(UBound(strSplit)) As Variant
    
    For i = 0 To UBound(strSplit)
    
        pieceSplit(i) = Split(strSplit(i), " ")
    
    Next
    
    For Each piece In pieceSplit
    
        For j = 0 To UBound(piece, 1)
    
            Debug.Print piece(j)
    
        Next j
    
    Next