如果你愿意,我正在创建一种数据库,我在一行中有多个需要合并的列,我想知道是否可以使用宏来实现这一点。
使合并变得更加困难的是,要合并的单元格数量并不是恒定的。即:
1 A B C MARY JO 50 main office admin
2 A B C MARY JO 50 main office admin
3 A B C MARY JO 50 main office admin
1 A B C JOHN DOE 60 OTHER office driver
2 A B C JOHN DOE 60 OTHER office driver合并第1-3行和第4-5行是理想的结果。如果没有发布图片的能力,很难解释,但是列A和列Z想要取消合并,因为每个单独的行都有信息显示在这些列中。
现在看起来是什么样子:

期望的最终结果:

发布于 2013-11-05 23:43:40
尝试如下所示:
Private Sub MergeTheseCellsToMakeSomethingLikeADatabase()
'Crucial Line Below
Application.DisplayAlerts = False
Dim i%
With ThisWorkbook.Sheets("Sheet1")
For i = .UsedRange.Rows.Count to 2 Step -1
If .Cells(i,4).Value = .Cells(i-1,4).Value Then
.Range(.Cells(i,2),.Cells(i-1,2)).Merge
.Range(.Cells(i,3),.Cells(i-1,3)).Merge
....
'Do this for all rows that are relevant or just have another for loop to cycle
'Through the rows that you want merged
End If
Next
End With
End Sub发布于 2013-09-03 16:29:56
为什么不使用另一个工作表上的公式来创建所需的结果-除非您试图自动化整个过程,否则可能不需要宏。如果这只是一次性的,那么宏肯定是大材小用了。
只需创建如下公式,即可使用所需的单元格组合来创建卷积:
=A1和A3等
使用&而不是+将文本单元格连接在一起(连接)
将formuala复制到每一列并完成...几乎..。
现在,您可以考虑合并行了
机翼
发布于 2013-09-03 16:41:41
您是否正在尝试删除重复的行?如果是这样,突出显示您的数据范围,然后从菜单中选择Data。在Data ribbon上,转到Sort and Filter部分并单击advanced。在高级筛选器对话框中选择“复制到另一个位置”,确保列表区域已选择您的数据,在“复制到”框中选择您希望筛选的列表所在的位置,然后勾选仅用于唯一记录的复选框。单击OK,作业完成。
https://stackoverflow.com/questions/18587332
复制相似问题