人工服务 离线下载

如何使用自定义函数来合并文本

转转大师PDF转换器

支持40多种格式转换,高效办公

在Excel表格中,如果我们要将同一类的内容合并到一个单元格里要如何操作呢?其实合并文本内容非常简单,只要我们灵活使用函数就可以完美解决了,接下来小编就来给大家分享下如何使用自定义函数来合并文本的操作方法。

接下来说说这个自定义函数的使用方法:

步骤一:

右键单击工作表标签【查看代码】,打开VBE编辑器。

步骤二:

在VBE窗口中,点击【插入】【模块】。

步骤三:

在右侧的代码窗口中输入代码。

以下是代码文字版,大家使用时可以直接复制就好。

Public 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

关闭VBE窗口,回到Excel工作表界面,就可以使用这个自定义的ConTxt函数了。

除了直接使用单元格引用,还可以对参数进行条件设置。

回到本例的题目中,我们仅要求合并文本内容,可使用下面的数组公式,记得要按Ctrl+Shift+回车结束输入。

=ConTxt(IF(ISTEXT(A1:A12),A1:A12&"、",""))

先使用ISTEXT函数判断A1:A12单元格的内容是否为文本。

再使用IF函数,如果是文本,则返回A1:A12并连接一个顿号"、",否则返回空文本""。

最后使用ConTxt函数对返回的内容进行连接。

连接后的文本,最后部分还多了一个顿号,大家可以根据平时学习的技巧或是函数方法,将这个顿号去掉。

使用这个自定义公式,可以非常灵活的完成多种同类项的内容合并,关键是数据源发生变化后,结果能够自动更新,一劳永逸哦。

最后提醒大家,工作簿必须保存为启用宏的工作簿,也就是xlsm格式,并且重新打开时要根据提示点击启用宏,否则函数无法运行呢。

以上就是今天给大家分享的关于如何使用自定义函数来合并文本的操作方法,有需要的小伙伴们可以根据以上步骤进行操作,如果需要pdf转Word可以使用topdf转换器。