如何连接单元格区域

如何连接单元格区域

在 Excel 2003 中,有没有办法将单元格范围内的值合并起来,并在其间使用逗号分隔符,而无需键入单个单元格引用,例如,连接 A86:A90 和连接 A193:A198,并在各个单元格之间使用逗号分隔符;以获得与

=(A86&“,”A87&“,”&A88&“,”A89&“,”&A90&“,”&A193&“,”&A194&“,”&A195&“,”&A196&“,”&A197&“,”&A198)

答案1

因为你想连接单元格,请考虑使用以下用户定义函数

Public Function KonKat(ParamArray rngs()) As String
    Dim r As Range, i As Long, rr As Range, s As String

    For i = LBound(rngs) To UBound(rngs)
        Set rr = rngs(i)
        For Each r In rr
            If s = "" Then
                s = r.Text
            Else
                s = s & "," & r.Text
            End If
        Next r
    Next i

    KonKat = s
End Function

例如:

在此处输入图片描述

用户定义函数 (UDF) 非常容易安装和使用:

  1. ALT-F11 打开 VBE 窗口
  2. ALT-I ALT-M 打开新模块
  3. 粘贴内容并关闭 VBE 窗口

如果您保存工作簿,UDF 将随之保存。如果您使用的是 2003 以后的 Excel 版本,则必须将文件另存为.xlsm而不是.xlsx

要删除 UDF:

  1. 调出如上所示的 VBE 窗口
  2. 清除代码
  3. 关闭 VBE 窗口

要从 Excel 使用 UDF:

=KonKat(B1:D1,C3:E3)

要了解有关宏的更多信息,请参阅:

http://www.mvps.org/dmcritchie/excel/getstarted.htm

http://msdn.microsoft.com/en-us/library/ee814735(v=office.14).aspx

有关 UDF 的详细信息,请参阅:

http://www.cpearson.com/excel/WritingFunctionsInVBA.aspx

具体内容ParamArray见:

http://www.tushar-mehta.com/publish_train/xl_vba_cases/1005%20ParamArray.shtml

必须启用宏才能使其工作!

相关内容