我正在创建一种数据库,如果你愿意,我在一行中有多列需要合并,并且想知道是否可以用宏来做这件事。
为了使合并的单元数量更加困难,并不是一成不变的。 IE:
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列以后想要UNMERGED,因为每一行都有这些列中显示的信息。
答案 0 :(得分:1)
尝试这样的事情:
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
答案 1 :(得分:0)
为什么不用另一个工作表上的公式来创建所需的结果 - 除非您尝试自动化整个过程,否则可能不需要宏。如果这只是一次性的,那么宏肯定是矫枉过正的。
使用所需的单元格组合创建coluumns,只需通过以下方法创建aformula:
= A1& A3等
&安培;用来代替+将文本单元连接在一起(连接)
将每个列的formuala复制下来并完成......几乎......
现在您可以担心合并行
永
答案 2 :(得分:0)
您是否尝试删除重复的行?如果是这样突出显示您的数据范围,然后从菜单中选择数据。在“数据”功能区上,转到“排序和筛选”部分,然后单击“高级”。在高级过滤器对话框中选择“复制到另一个位置”,确保列表范围已选择您的数据,在复制到框中选择您希望过滤列表的位置,然后在复选框中选中唯一的记录。单击“确定”并完成工作。