设为首页收藏本站

嘻皮客娱乐学习网

 找回密码
 中文注册
搜索
打印 上一主题 下一主题
开启左侧

[OFFICE] excel自定义函数合并连续选区内的单元格

[复制链接]
跳转到指定楼层
楼主
发表于 2016-9-6 15:25:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
excel自定义函数合并连续选区内的单元格,代码如下,通过 =合并(要合并的选区,分隔符,是否去重复)  来完成 ,比如要合并A1:B9中的所有有值的单元格的内容,并且用逗号连接,可以这样写
=合并(A1:B9,“,”,0)

如果所先区域中有重复值,只需要对重复值合并一次的话,把第三参数改为1就行了。
=合并(A1:B9,“,”,1)


  1. Function 合并(rg As Range, Optional sr As String, Optional cf As Boolean)
  2.    
  3.    '第一参数为要合并内容的单元格区域,不能省略。区域中的空单元格会被忽略。
  4.    '第二参数为自定义的分隔符,要用双引号引起来。如果省略该参数,则等同于第二参数为""。
  5.    '第三参数为逻辑值,如果为false或省略,则会依次按先行后列的顺序合并所有不为空的单元格。如果为true,对于区域中有重复值的单元格,只会对重复值合并一次。

  6.     Application.Volatile True
  7.    
  8.     If IsMissing(sr) Then sr = ""        '如果分隔符未输入的话置为空值
  9.    
  10.     If IsMissing(cf) Then cf = False        '如果是否去重复值未输入的话置为0,即不去重复值
  11.         
  12.         
  13.            If cf = False Then
  14.            
  15.                 Dim R As String
  16.         
  17.                 For Each s In rg
  18.                   
  19.                    If s <> "" Then
  20.                   
  21.                    R = R & sr & s
  22.                   
  23.                    End If
  24.                
  25.                 Next s
  26.                
  27.                 合并 = Mid(R, Len(sr) + 1)
  28.                
  29.           Else
  30.          
  31.                 Dim d
  32.                 Set d = CreateObject("Scripting.Dictionary")
  33.                 For Each c In rg
  34.                    If c <> "" Then d(c.Value) = ""
  35.                 Next
  36.                 合并 = Join(d.keys, sr)
  37.                 Set d = Nothing
  38.                
  39.           End If
  40.                
  41.                
  42. End Function
复制代码





也可以直接下载下面的附件,放在 C:\Documents and Settings\Administrator\Application Data\Microsoft\AddIns这个文件夹里面。可能不同的系统不太一样,这个地址是office加载项文件存放的默认位置。可以在c盘搜索AddIns,得到该文件夹位置。
放在那儿后,直接在任何一个excel中把该文件加载上就可以了,具体步骤是 在菜单栏选择  文件——选项——加载项——转到(G) ,然后就弹出了加载宏的对话框,然后把里面的 “合并所选区域单元格”前面打上勾,就可以了。

合并选区内的单元格: 合并所选区域单元格.xla (29 KB, 下载次数: 191)
回复

使用道具 举报

小黑屋|手机版|嘻皮客网 ( 京ICP备10218169号|京公网安备11010802013797  

GMT+8, 2024-5-15 23:26 , Processed in 0.209091 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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