Vba 仅将相邻单元格合并到范围内的合并单元格
我正在尝试将相邻行中的单元格合并到已合并的单元格中。如果D列中的相邻单元格被合并,我想合并C列中的相邻单元格。并非所有单元格都合并到列D中。下面的代码为我提供了在MsgBox中使用变量时的正确行号,但是,当我将变量添加到要合并的范围时,每一行都会合并。我认为这一定很简单,但我只能确定是什么导致范围中的每一行被合并。我通常不会在合并任何东西时出错,但我需要在电子表格中保留这些合并的单元格。我们将非常感谢您的帮助Vba 仅将相邻单元格合并到范围内的合并单元格,vba,excel,Vba,Excel,我正在尝试将相邻行中的单元格合并到已合并的单元格中。如果D列中的相邻单元格被合并,我想合并C列中的相邻单元格。并非所有单元格都合并到列D中。下面的代码为我提供了在MsgBox中使用变量时的正确行号,但是,当我将变量添加到要合并的范围时,每一行都会合并。我认为这一定很简单,但我只能确定是什么导致范围中的每一行被合并。我通常不会在合并任何东西时出错,但我需要在电子表格中保留这些合并的单元格。我们将非常感谢您的帮助 Sub FindMerge() Dim cell As Range Dim Lrow
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行开始的所有行:
范围(“C2:O”和Lrow)。合并
您最可能想要的是:
Range("C1:O1").Offset(Lrow - 1).Merge
执行以下操作将合并从第2行开始的所有行:
范围(“C2:O”和Lrow)。合并
您最可能想要的是:
Range("C1:O1").Offset(Lrow - 1).Merge
解决方法:Range(“C”&Lrow&“:D”&Lrow)。Merge True
我刚发现这也有效。是的,我一开始就有,但我选择了一个“更容易键入”:D。谢谢你的帮助。解决方法:Range(“C”&Lrow&“:D”&Lrow)。Merge True
这也有效,我刚发现。是的,我一开始有,但我选择了一个“更容易打字”:D.谢谢你的帮助。