macros使用标记拆分单元格中的文本
我有一个单元格的值
XX 99999 - X99, XX 99999 - X99, XX 99999 - X99
X – 表示字母9 – 表示数字
我必须读这个单元格
- 用“,”分割得到
XX 99999 - X99
数组 - 吐出使用“”和“ – ”之后得到
xx
,99999
和X99
。
这可以做到不使用 “文本到列”,即在Excel中使用一些function? 因为我需要使用分隔的内容来过滤一些其他的数据。
看看MSDN上的拆分function。 以下分为两部分。
- 下面的代码首先分割string,并将每个逗号分隔值赋给strSplit。
- 然后再用“”分割子string,并将每个片段分配给pieceSplit(),然后输出到直接窗口。
最后一部分,你可以改变和适用于你的项目。
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