使用VBA自定义函数创建数字序列

2022-11-16 11:36:36 浏览数 (1)

标签: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

vba

0 人点赞