excel 按第一列内容合并行 函数VBA 如附件图片,求大神帮忙 (附件是举例,实际内容要多很多)

如题所述

Sub 数据合并()
ra = [a650].End(xlUp).Row
For r = 1 To ra
If Range("a" & r) <> "" Then
Range("e" & r) = Range("a" & r)
If r < ra Then
rx = Range("a" & r).End(xlDown).Row
Else
For rx = r To 10000
If Range("b" & rx) = "" Then Exit For
Next rx
End If
For rz = r To rx - 1
Range("f" & r) = Range("f" & r) & “ ” & Range("b" & rz)
Next rz
End If
Next r
End Sub

目前单元格的位置是按照你的例子去做的,你稍微修改一下列号即可应用于你的表格了追问

大神你好,实际效果已经比较接近了,但是我发现一个问题,当A列连续数据超过三个时,B列的数据会一个个往下抓,然后就不对了。

程序我看着头疼,请问能帮我再修改一下吗?

If Range("b" & rx) = "" Then Exit For
Next rx

这一段改成do-while可以吗?

温馨提示:答案为网友推荐,仅供参考
第1个回答  2016-12-05
Function Concell(myRange As Range)
Dim myCell As Range
For Each myCell In myRange
If myCell <> "" Then
Concell = Concell & " " & myCell
End If
Next
End Function

追问

大神你好,照着此公式刷出来都是连的,有没有办法让他不连在一起?

还是说我写错公式了。。。

谢谢!

追答

不连一起是什么概念?
选择的地质不要是整个区域,选择这一行然后下拉拖拽即可。

本回答被网友采纳
相似回答