Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 4910|回复: 11

[已解决]自定义函数合并多个单元格内容Join

[复制链接]
发表于 2015-5-11 18:46 | 显示全部楼层 |阅读模式
本帖最后由 张雄友 于 2015-5-11 20:07 编辑

自定义函数合并多个单元格内容Join。
最佳答案
2015-5-11 19:47
张雄友 发表于 2015-5-11 19:42
还是多了很多逗号出来。
  1. Function demo(rng As Range)
  2.     Dim j As Integer, n As Integer
  3.     If rng.Rows.Count = 1 Then
  4.         ar = rng.Value
  5.         For j = 1 To UBound(ar, 2)
  6.             If ar(1, j) = "" Then n = n + 1
  7.             If ar(1, j) <> "" Then demo = demo & ar(1, j) & ","
  8.         Next
  9.         If n = UBound(ar, 2) Then
  10.             demo = ""
  11.         Else
  12.             demo = Left(demo, Len(demo) - 1)
  13.         End If
  14.     End If
  15. End Function
复制代码
没注意,以为空着的要留着{:011:}

自定义函数合并多个单元格内容Join.rar

8.77 KB, 下载次数: 14

发表于 2015-5-11 19:04 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

发表于 2015-5-11 19:29 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

发表于 2015-5-11 19:34 | 显示全部楼层
  1. Function demo(rng As Range)
  2. Dim j As Integer, n As Integer
  3.     If rng.Rows.Count = 1 Then
  4.         ar = rng.Value
  5.         For j = 1 To UBound(ar, 2)
  6.             If ar(1, j) = "" Then n = n + 1
  7.             demo = demo & ar(1, j) & ","
  8.         Next
  9.         If n = UBound(ar, 2) Then
  10.             demo = ""
  11.         Else
  12.             demo = Left(demo, Len(demo) - 1)
  13.         End If
  14.     End If
  15. End Function
复制代码
自定义函数合并多个单元格内容Join.rar (9.63 KB, 下载次数: 7)
回复

使用道具 举报

发表于 2015-5-11 19:35 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

 楼主| 发表于 2015-5-11 19:40 | 显示全部楼层
本帖最后由 张雄友 于 2015-5-11 20:49 编辑
laoau132 发表于 2015-5-11 19:35
悲剧了,一楼楼主,问了三年,基础都学不到,。。。。。。答你都是傻瓜

。。。。。。。
回复

使用道具 举报

 楼主| 发表于 2015-5-11 19:42 | 显示全部楼层
qh8600 发表于 2015-5-11 19:34
这样试试

还是多了很多逗号出来。

自定义函数合并多个单元格内容Join4.rar

9.24 KB, 下载次数: 2

回复

使用道具 举报

发表于 2015-5-11 19:47 | 显示全部楼层    本楼为最佳答案   
张雄友 发表于 2015-5-11 19:42
还是多了很多逗号出来。
  1. Function demo(rng As Range)
  2.     Dim j As Integer, n As Integer
  3.     If rng.Rows.Count = 1 Then
  4.         ar = rng.Value
  5.         For j = 1 To UBound(ar, 2)
  6.             If ar(1, j) = "" Then n = n + 1
  7.             If ar(1, j) <> "" Then demo = demo & ar(1, j) & ","
  8.         Next
  9.         If n = UBound(ar, 2) Then
  10.             demo = ""
  11.         Else
  12.             demo = Left(demo, Len(demo) - 1)
  13.         End If
  14.     End If
  15. End Function
复制代码
没注意,以为空着的要留着{:011:}

点评

qh8600兄,加多一句可以了。 On Error Resume Next  发表于 2015-5-11 20:54
回复

使用道具 举报

 楼主| 发表于 2015-5-11 20:09 | 显示全部楼层
qh8600 发表于 2015-5-11 19:47
没注意,以为空着的要留着

能不能像IFERROR 这样容错?如附件。

自定义函数合并多个单元格内容Join3.rar

8.42 KB, 下载次数: 3

回复

使用道具 举报

发表于 2015-5-12 08:10 | 显示全部楼层
悲剧了张雄友楼主,问了三年基础都学不到..............................只会依赖别人,永远长不大,永远学不会VBA

初入精英论坛天天见张雄友。起初以为他是VBA高手。后来发现他原来是个发问高手时间持续三年.自学三个月VBA都秒了你


三年足以学会:VBA+VB+VB.NET,..............................相信精英论坛没有人同时精通这三个

还是那句话..........................................精英论坛没有一个是高手







点评

不知羞耻的狗。  发表于 2015-5-12 13:03
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-5-16 10:44 , Processed in 0.877327 second(s), 12 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表