标签:VBA
有一些数据以由破折号分隔的数字形式显示在单元格中,如下图1所示。
图1
现在,想要介于两者之间的数字,如下图2所示。
图2
如果是手工操作,当数据间隔很大或者数据较多时很麻烦,也需要相当长的时间才能完成。然而,可以使用一个由VBA编写的自定义函数轻松实现。
自定义函数代码如下:
代码语言:javascript复制Function SequenceNum(txt As String) As String
Dim i As Long
Dim j
For Each j In Split(txt, ",")
If j Like "*-*" Then
For i = Split(j, "-")(0) To Split(j, "-")(1)
SequenceNum = SequenceNum & "," & i
Next i
Else
SequenceNum = SequenceNum & "," & j
End If
Next j
SequenceNum = Mid$(SequenceNum, 2)
End Function
这个自定义函数将根据分隔符“-”分割数据,因此如果以不同方式分割数据,就更改代码中的分隔符。此外,如果不希望用逗号分隔数据,例如,如果想要用空格分隔数据,可以将代码中的:
SequenceNum = SequenceNum & "," & j
修改为:
SequenceNum = SequenceNum & " " & j