介绍一个文本连接的自定义函数:contxt

Excel自带的CONCATENATE函数虽然能连接文本,但却不能连接内存数组,论效果还没&这个连接符方便,实在是Excel里的第一大鸡肋。
所以今天就介绍给大家我一直在用的文本连接的自定义函数–contxt 。

 

Function ConTxt(ParamArray args() As Variant) As Variant
Dim tmptext As Variant, i As Variant, cellv As Variant
Dim cell As Range
tmptext = ""

For i = 0 To UBound(args)
    If Not IsMissing(args(i)) Then
        Select Case TypeName(args(i))
            Case "Range"
                For Each cell In args(i)
                    tmptext = tmptext & cell
                Next cell
            Case "Variant()"
                For Each cellv In args(i)
                    tmptext = tmptext & cellv
                Next cellv
            Case Else
                tmptext = tmptext & args(i)
        End Select
    End If
Next i

ConTxt = tmptext
End Function

 

用法就如CONCATENATE函数差不多,以逗号,分隔,参数支持数组和单元格区域。
原创作者为 chenjun (陈军),微软MVP,一个EH里传奇的人物,可惜我进EH的时候这位英雄已归隐了,无缘讨教,很是可惜。

PS:大家也发现了,博客快要两个月没更新了,这是因为这段时间发生了很多事,心性也有了很大变化:Excel内容丰富到学不完,但目前的水平在实际工作中却已够用,Excel之外应该关注些其他的方面——赚钱,所以最近又在做一个关于网赚的博客,想在工作之余弄点烟钱的朋友可以适度关注一下。
精力有限,估计VSTO是很难再写下去了,以后也只会写写新学到的Excel/VBA等Office系列或是工作中遇到的问题一类的文章了。所以,如果大家有好的经验和创意,而又不想淹没在EH、ET等黄金垃圾堆中,欢迎投稿给我,我的邮箱: laoyebin@gmail.com 或 admin@mrvsto.com ,文章会发表在我的个人博客上。

posted @ 2010-11-10 10:19  RobinLao  阅读(1530)  评论(0编辑  收藏  举报