2

我在根据一列的相似值合并 Excel 中的单元格时遇到问题 - 我想保留其他列的数据 - 让我们查看一些屏幕截图,它会更清楚: 在此处输入图像描述

以上是数据的初始状态,我想要实现的是:

在此处输入图像描述

我确信有一种方法可以使用 VB 或公式来完成 - 我需要最简单的方法,因为这是针对客户的,并且需要简单。

先谢谢大家了。

4

1 回答 1

6
Option Explicit

Private Sub MergeCells()
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False

    Dim rngMerge As Range, cell As Range
    Set rngMerge = Range("A1:A100") 'Set the range limits here

MergeAgain:
    For Each cell In rngMerge
        If cell.Value = cell.Offset(1, 0).Value And IsEmpty(cell) = False Then
            Range(cell, cell.Offset(1, 0)).Merge
            GoTo MergeAgain
        End If
    Next

    Application.DisplayAlerts = True
    Application.ScreenUpdating = True
End Sub

您可以硬编码范围限制(即要检查的 A 列中的最后一行),让用户每次都输入它,或者以编程方式查找范围中的最后一行。无论哪种方式,这应该让你开始。

顺便说一句,您可以在 A 列的最后一行找到以下内容:

Dim i As Integer
    i = Range("A1").End(xlDown).Row
    Set rngMerge = Range("A1:A" & i)
于 2013-07-14T21:38:41.113 回答