Excel VBA高级自定义字符串连接函数 仿Office365中Textjoin函数

2019年7月16日15:56:57 评论 1,487 views

Excel的工作表函数做字符连接极不方便 就是vbajoin局限性也很大,这里我们自定义一个字符连接通用函数,可接受不同类型参数,单元格区域,数组以及单个参数可随意混合组合传入输出结果可跳过空值,可指定分隔符,在需要大量字符串连接的时候,可以方便的调用。 注意工作表中可以结合数组公式使用,可以有条件的返回需要的字符串

 代码如下:

函数可接受数组参数,以及多种参数的组合,可实现上图多种高级字符串连接功能,完整视频讲解请看我的培训课程

Excel VBA常用代码175个实例解析 全程手写代码教学 Excel880出品

http://excel880.com/dwz/3

Function textjoin(spstr, ParamArray params())
    Dim s As String
    Dim e, r
    For Each e In params '主要学习如何使用参数数组,让函数具备接受不定个数和类型的参数
       ' Debug.Print TypeName(e)
        Select Case Right(TypeName(e), 2) '用Typename得到参数类型,根据不同类型做出不同的处理
            Case "ge", "()"
                For Each r In e 'range和arrary() 判断出是单元格区域或者数组类型 则直接遍历
                   If r <> "" Then s = s & spstr & r
                Next
            Case Else '其他类型直接用字符串连接
                If e <> "" Then s = s & spstr & e
        End Select
    Next
    textjoin = Mid(s, Len(spstr) + 1)
End Function
Private Sub Test()
    Dim i&, j&, k&, brr
    Dim arr(2 To 4) As String
    arr(2) = "a"
    arr(3) = "b"
    Debug.Print textjoin(" ", arr, [C6:C7], "abc")
End Sub

 

  • 微信扫码免费学习
  • 免费学习48小时
  • weinxin
  • 我的微信公众号
  • EXCEL880
  • weinxin

发表评论

您必须才能发表评论!