首页 > 解决方案 > 如何合并行中重复的单元格值?我的代码忽略了一些重复的值

问题描述

我正在尝试合并 D 列中所有连续的重复单元格。我不关心单元格的格式,也不需要对任何值求和。想知道我下面的代码有什么问题,因为并非所有重复的单元格都在合并...只能假设我不小心跳过了它们

尝试像这样合并 D 列中的单元格。 合并应该只用于重复值

with thisworkbook.sheets("sheet1") 
For i = StartRow + 1 To LastRow + 1
    
If Cells(i, 4) <> "" Then
    If Cells(i, 4) <> Cells(i - 1, 4) Then
        Application.DisplayAlerts = False
        Range(Cells(i - 2, 4), Cells(StartMerge, 4)).Merge
        Application.DisplayAlerts = True
        StartMerge = i
    End If
End If
Next i
End With

标签: excelvbamergeduplicatesrow

解决方案


接近您的代码:( 已更新;已删除If Cells(i, 4) <> "" Then

Sub test1()
    With ThisWorkbook.Sheets("sheet1")
        StartRow = 1
        LastRow = .Cells(.Rows.Count, 4).End(xlUp).Row
        
        StartMerge = StartRow + 1
        Application.DisplayAlerts = False
        For i = StartRow + 1 To LastRow
            If .Cells(i, 4) <> .Cells(i + 1, 4) Then
                .Range(.Cells(StartMerge, 4), .Cells(i, 4)).Merge
                StartMerge = i + 1
            End If
        Next i
        Application.DisplayAlerts = True
    End With
End Sub

结果:
在此处输入图像描述


推荐阅读