【问题标题】:Concatenate 1000 cells of column to one cell at the bottom将列的 1000 个单元格连接到底部的一个单元格
【发布时间】:2014-08-12 15:13:05
【问题描述】:

我想将特定列(例如从 A1 到 A1000)的 1000 个单元格的文本合并到一个单元格(例如 A1001)中,有人可以告诉宏吗?

【问题讨论】:

标签: excel


【解决方案1】:

试试下面的UDF

Public Function concat(r As Range) As String
    concat = ""
    For Each rr In r
        concat = concat & rr.Value
    Next rr
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:

=concat(A1:A1000)

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

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

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

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

关于 UDF 的详细信息

必须启用宏才能正常工作!

【讨论】:

  • 我将其粘贴到 Visual Basic 页面上并保存但没有工作,因为我试图连接 2 个失败的选定单元格。能否详细说明或举例说明
  • 你在单元格中放了什么函数,它显示了什么??
  • =concat(A1:A1000) 尽管我在 VBE 窗口中保存了 UDF,但这个公式不起作用
  • 公式显示的是什么??
  • 显示的公式与 excel 相同,即 =concatenate(.... 不是我输入的。
【解决方案2】:
=concatenate(A1:A1000)

如A1001中的公式

【讨论】:

  • 抱歉,我没有在这台机器上使用 excel 进行检查 - 所有值都是文本值吗?
  • 遗憾的是,CONCATENATE 不接受范围。相反,它接受它,但只连接范围中的第一个单元格。
猜你喜欢
  • 1970-01-01
  • 2021-09-22
  • 1970-01-01
  • 2010-11-12
  • 1970-01-01
  • 2022-07-09
  • 2017-01-31
  • 1970-01-01
  • 2012-03-31
相关资源
最近更新 更多