我正在处理一个 excel 表格,需要根据车辆编号合并单元格。如果两个或多个连续单元格中有相同的车辆编号,则需要将单元格合并到车辆编号右侧。我有一个巨大的文件,其中包含 200 多个车辆编号。因此,根据每辆车合并单元格是一项耗时的任务。有什么方法可以简化此过程。我附上了我的 excel 表格的屏幕截图。
答案1
我建议您使用 VBA 代码来实现您的目标,因为它是最好和最简单的应用方法。
如果右列左侧的值重复,则可以使用下面编写的 VBA 代码来合并右列中相邻的单元格。
检查屏幕截图:
Sub MergeSameCell()
Dim Rng As Range, xCell As Range
Dim xRows As Integer
xTitleId = "Merge Cells In Excel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
Application.ScreenUpdating = False
Application.DisplayAlerts = False
xRows = WorkRng.Rows.Count
For Each Rng In WorkRng.Columns
For i = 1 To xRows - 1
For j = i + 1 To xRows
If Rng.Cells(i, 1).Value <> Rng.Cells(j, 1).Value Then
Exit For
End If
Next
WorkRng.Parent.Range(Rng.Cells(i, 2), Rng.Cells(j - 1, 2)).Merge
WorkRng.Parent.Range(Rng.Cells(i, 3), Rng.Cells(j - 1, 3)).Merge
WorkRng.Parent.Range(Rng.Cells(i, 4), Rng.Cells(j - 1, 4)).Merge
i = j - 1
Next
Next
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub
如何使用代码:
- 按住 ALT + F11 键,将打开 Microsoft Visual Basic for Applications 窗口。
- 单击“插入”,然后单击“模块”,并粘贴代码。
- 运行宏。
- 当出现输入框时,选择可获得重复值的数据范围。
- 单击“确定”完成。
你完成工作了。