微信公众号 【EXCEL880】 QQ群【341401932】
课程咨询 加我微信EXCEL880B 试学网址http://v.excel880.com
课程咨询 加我微信EXCEL880B 试学网址http://v.excel880.com
Excel的工作表函数做字符连接极不方便 就是vba的join局限性也很大,这里我们自定义一个字符连接通用函数,可接受不同类型参数,单元格区域,数组以及单个参数可随意混合组合传入输出结果可跳过空值,可指定分隔符,在需要大量字符串连接的时候,可以方便的调用。 注意工作表中可以结合数组公式使用,可以有条件的返回需要的字符串
代码如下:
本函数可接受数组参数,以及多种参数的组合,可实现上图多种高级字符串连接功能,完整视频讲解请看我的培训课程
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