繁体   English   中英

仅将相邻单元格合并到范围中的合并单元格

[英]Merge adjacent cell only to merged cells in a range

我试图将相邻行中的单元格合并到已合并的单元格中。 如果合并D列中的相邻单元格,我想合并列C中的相邻单元格。 并非所有单元格都在D列中合并。下面的代码在我使用MsgBox中的变量时为我提供了正确的行号,但是,当我将变量添加到要合并的Range时,每行都会合并。 我认为它必须是一些简单的,但我可以确定是什么导致范围中的每一行合并。 我通常不会混淆任何东西,但我需要将这些合并的单元格留在电子表格中。 非常感谢您帮助破解这一点。

Sub FindMerge()

Dim cell As Range
Dim Lrow As Long

Application.ScreenUpdating = False      'Turn off screen updating. Code runs faster without screen flicker
Application.DisplayAlerts = False       'stops Windows Alerts from poping up

'loops through range to find merged cells
'For Each cell In ActiveSheet.UsedRange    'commented out to try static range below.
For Each cell In Range("D1:D81")

    If cell.MergeCells Then

        If cell.Address = cell.MergeArea.Cells(1, 1).Address Then

'           Msgbox "Row: " & cell.row        'displays correct row number where merged cell is located

           Lrow = cell.row

          Range("C2:O" & Lrow).Merge True     'Unintentionally merges every row

        End If

    End If

Next cell

Application.ScreenUpdating = True       'Turns screen updating back on
Application.DisplayAlerts = True        'Turns Windows Alerts back on

End Sub

您通过执行以下操作合并从第2行开始的所有行:

Range("C2:O" & Lrow).Merge

你最想要的是这个:

Range("C1:O1").Offset(Lrow - 1).Merge

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM