Note: The other languages of the website are Google-translated. Back to English

如何串联单元格值,直到在列中找到空白单元格为止?

doc串联直到空白1

例如,我有一个值列表,其中包括一些空白单元格,现在,我想将空白之间的每组数据连接到一个单元格中,并在另一列中列出组合的值,如下图所示。 如何连接单元格,直到在列中找到空白单元格?

连接单元格值,直到在带有VBA代码的列中找到空白单元格为止

连接单元格值,直到使用Kutools for Excel在列中找到空白单元格为止


箭头蓝色右气泡 连接单元格值,直到在带有VBA代码的列中找到空白单元格为止

没有直接的方法可以在空白之间连接一组单元格,但是,您可以应用以下VBA代码来处理它。 请执行以下操作:

1。 按住 ALT + F11 键打开 Microsoft Visual Basic for Applications窗口.

2。 点击 插页 > 模块,然后将以下代码粘贴到 模块窗口.

VBA代码:连接单元格值,直到找到空白单元格

Sub Concatenatecells()
'updateby Extendoffice
    Dim xRg As Range
    Dim xSaveToRg As Range
    Dim xTxt As String
    Dim xCell As Range
    Dim xTStr As String
    On Error Resume Next
    xTxt = ActiveWindow.RangeSelection.Address
    Set xRg = Application.InputBox("Please selecte the data range:", "Kutools for Excel", xTxt, , , , , 8)
    If xRg Is Nothing Then Exit Sub
    If xRg.Columns.Count > 1 Then
        MsgBox "the selected range is more than one column", vbInformation, "Kutools for Ecel"
        Exit Sub
    End If
    Set xSaveToRg = Application.InputBox("Please selecte output cell:", "Kutools for Excel", , , , , , 8)
    If xSaveToRg Is Nothing Then Exit Sub
    Set xSaveToRg = xSaveToRg.Cells(1)
    Application.ScreenUpdating = False
    For Each xCell In xRg
        If xCell <> "" Then
            xTStr = xTStr & xCell & " "
        Else
            xSaveToRg.Value = xTStr
            Set xSaveToRg = xSaveToRg.Offset(1)
            xTStr = ""
        End If
    Next
    If xTStr <> "" Then xSaveToRg.Value = Left(xTStr, Len(xTStr) - 1)
    Application.ScreenUpdating = True
End Sub

3. 然后按 F5 键以运行此代码,并弹出一个提示框,提醒您选择要连接的数据范围,请参见屏幕截图:

doc串联直到空白10

4。 然后点击 OK,然后弹出另一个提示框,请选择一个单元格以输出级联结果,请参见屏幕截图:

doc串联直到空白11

5. 然后点击 OK 按钮,并将列列表数据连接在空白之间,请参见屏幕截图:

doc串联直到空白1


箭头蓝色右气泡 连接单元格值,直到使用Kutools for Excel在列中找到空白单元格为止

如果你有 Kutools for Excel,结合 变换范围结合 功能,您也可以尽快完成这项工作。 的 变换范围 实用程序可以帮助您将单列转换为范围,并且 结合 功能可以帮助您将转换后的范围连接到列。

Kutools for Excel : 带有300多个便捷的Excel加载项,可以在30天内免费试用. 

安装后 Kutools for Excel,请执行以下操作:

1. 选择要串联的单元格,然后单击 库工具 > Range > 变换范围,请参见屏幕截图:

2。 在 变换范围 对话框,检查 单列到范围 选项下 转换类型,然后选择 空白单元格分隔记录 在下面 每条记录行,请参见屏幕截图:

doc串联直到空白3

3. 然后点击 Ok,然后会弹出一个提示框,提醒您选择一个单元格以输出结果,请参见屏幕截图:

doc串联直到空白4

4。 点击 OK,并且单列数据已由空白单元格转换为多行和多列,请参见屏幕截图:

doc串联直到空白5

5。 转换后的数据位于多列中,因此您需要将它们合并为一列,请选择数据范围,然后点击 库工具 > 合并与拆分 > 合并行,列或单元格而不会丢失数据,请参见屏幕截图:

6。 在 合并列或行 对话框中,执行以下选项:

(1.)选择 合并栏 选项从 根据以下选项合并选定的单元格;

(2.)然后指定一个分隔符,用于分隔连接的值;

(3.)选择要如何处理合并的单元格。 您可以保留或删除原始数据,还可以合并合并的单元格。 看截图:

doc串联直到空白7

7。 完成设置后,单击 Ok or 申请 按钮,单元格已连接到具有特定分隔符的一列中,请参见屏幕截图:

doc串联直到空白8

立即下载和免费试用Excel的Kutools!


最佳办公效率工具

Kutools for Excel解决了您的大多数问题,并使您的生产率提高了80%

  • 重用: 快速插入 复杂的公式,图表 以及您以前使用过的任何东西; 加密单元 带密码 创建邮件列表 并发送电子邮件...
  • 超级公式栏 (轻松编辑多行文本和公式); 阅读版式 (轻松读取和编辑大量单元格); 粘贴到过滤范围...
  • 合并单元格/行/列 不会丢失数据; 拆分单元格内容; 合并重复的行/列...防止细胞重复; 比较范围...
  • 选择重复或唯一 行; 选择空白行 (所有单元格都是空的); 超级查找和模糊查找 在许多工作簿中; 随机选择...
  • 确切的副本 多个单元格,无需更改公式参考; 自动创建参考 到多张纸; 插入项目符号,复选框等...
  • 提取文字,添加文本,按位置删除, 删除空间; 创建和打印分页小计; 在单元格内容和注释之间转换...
  • 超级滤镜 (将过滤方案保存并应用于其他工作表); 高级排序 按月/周/日,频率及更多; 特殊过滤器 用粗体,斜体...
  • 结合工作簿和工作表; 根据关键列合并表; 将数据分割成多个工作表; 批量转换xls,xlsx和PDF...
  • 超过300种强大功能。 支持Office / Excel 2007-2019和365。支持所有语言。 在您的企业或组织中轻松部署。 完整功能30天免费试用。 60天退款保证。
kte选项卡201905

Office选项卡为Office带来了选项卡式界面,使您的工作更加轻松

  • 在Word,Excel,PowerPoint中启用选项卡式编辑和阅读,发布者,Access,Visio和Project。
  • 在同一窗口的新选项卡中而不是在新窗口中打开并创建多个文档。
  • 每天将您的工作效率提高50%,并减少数百次鼠标单击!
officetab底部
按评论排序
注释 (5)
还没有评分。 成为第一位评论!
该评论由网站上的主持人最小化
如果你想把它建立在另一列的基础上,你会怎么做? 我有类似的数据,但 B 列是一个数字,然后是 I 列中的注释(如你的水果),我想合并 I 列中的所有注释,直到 B 列中的另一个单元格只有数字。 有时B下有字母或单元格为空白,这就是为什么它需要组合直到一个数字。 那么最后它可以输出回到它开始组合的地方吗? IE 第一个数字的所有注释都在 j 列中,但是如果下一个数字是下面的 5 行很好,它只是在 j 列中,但与找到的数字相同的行号?
该评论由网站上的主持人最小化
当我尝试基于方法 3 运行此模块时,它显示第 1 行“Dim xRg As Range”出现语法错误,我该怎么办?
该评论由网站上的主持人最小化
您好,JJ,该代码在我的工作表中运行良好,您使用哪个 Excel 版本?或者您可以在此处插入您的问题的屏幕截图。
该评论由网站上的主持人最小化
老哥辛苦了,很有用
该评论由网站上的主持人最小化
你好,
不客气。 很高兴它有帮助。 任何问题,请随时与我们联系。 祝你有美好的一天。
Sincerely,
曼迪
这里还没有评论
留下你的意见
以访客身份发帖
×
评价此帖子:
0  产品特性
建议地点