设为首页收藏本站

嘻皮客娱乐学习网

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

[OFFICE] Excel多个单元格内容合并自定义函数介绍和实例教程

[复制链接]
跳转到指定楼层
楼主
发表于 2016-9-6 08:51:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

本文介绍的excel多个单元格内容合并所使用到的方法,是用的笔者编写的单元格内容合并函数来完成的.

  关于excel多个单元格内容合并的方法,我们之前介绍过PHONETIC函数来实现。我们先来回顾一下单元格内容合并函数PHONETIC用法。

  如果我们要将A1、B1、C1单元格内容合并,可以使用公式:=PHONETIC(A1:C1)实现。如下图所示。


  不过,单元格内容合并函数PHONETIC函数有其自身的不足,主要体现在多个单元格内容合并的时候,不能同时加上用户自定义的内容。
  再继续看下面的实例,我们希望多个单元格内容合并的同时,并且每个单元格内容之间加上标点符号逗号相隔开。效果图如下:

  这样特殊的单元格内容合并操作,就不是excel内置命令可以完成的了。既然单元格内容合并函数无法实现,我们就只有利用VBA,自己编写一个函数来解决单元格内容合并问题。操作方法如下:
  第一,在工作表标签上面右击,选择“查看代码”,进入VBA编辑器,简称VBE。  

  第二,点击 插入- 模块。在右上角小窗口可以看到插入后的模块1,双击模块1,右侧即会显示一个空白的区域,此区域即是编写函数和存放函数代码的地方。

  第三,开始编写函数

  1. Function LianJie(Rg As Range, sr As String)
  2. Dim R As String
  3. Application.Volatile True
  4. For Each s In Rg
  5. R = R & sr & s
  6. Next s
  7. LianJie = Right(R, Len(R) - 1)
  8. End Function
复制代码

  第四,保存代码
  在excel2007版以后,代码需要保存在xlsm类型的文件中。文件 - 另存为 - 类型选取“Excel启用宏的工作簿(*.xlsm)"
  第五,关闭返回工作表中使用上面自已编写的函数
  我们在E1单元格输入公式:=LianJie(A1:D1,","),就可以快速将多个单元格内容合并。
回复

使用道具 举报

沙发
 楼主| 发表于 2016-9-6 08:59:27 | 只看该作者
此自定函数是优先同一行的合并,然后再合并下一行。

此函数的缺点就是如果公式中的分隔符如果是 空“” ,会出错,并且如果不用分隔符,会出错。并且要合并的区域中某个单元格如果没有值,合并后会显示一个空格。
回复 支持 反对

使用道具 举报

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

GMT+8, 2024-4-29 03:59 , Processed in 0.194849 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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