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

 

  1. Function ConTxt(ParamArray args() As VariantAs Variant 
  2. Dim tmptext As Variant, i As Variant, cellv As Variant 
  3. Dim cell As Range 
  4. tmptext = "" 
  5.  
  6. For i = 0 To UBound(args) 
  7.     If Not IsMissing(args(i)) Then 
  8.         Select Case TypeName(args(i)) 
  9.             Case "Range" 
  10.                 For Each cell In args(i) 
  11.                     tmptext = tmptext & cell 
  12.                 Next cell 
  13.             Case "Variant()" 
  14.                 For Each cellv In args(i) 
  15.                     tmptext = tmptext & cellv 
  16.                 Next cellv 
  17.             Case Else 
  18.                 tmptext = tmptext & args(i) 
  19.         End Select 
  20.     End If 
  21. Next i 
  22.  
  23. ConTxt = tmptext 
  24. End Function 

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

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

 

作者:laoyebin(Paladin.lao) 
个人网站英文出处:http://mrvsto.com/ 
个人网站中文出处:http://cn.mrvsto.com/ 

本文版权归作者所有,欢迎转载,但请保留作者信息和原文链接,非常感谢。