向下移动合并的单元格

我正在编写一个VBA脚本,将合并的单元格向下移动。 当这样做popup框来警告用户这个操作将取消合并单元格。

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) If Not Intersect(Target, Range("A28")) Is Nothing Then Range("c28").Insert Shift:=xlDown End If 

我想要发生两件事情之一。

答:始终自动接受是这样的popup不显示给用户。 (我将在插入后在VBA中重新合并)

B.有没有一种方法可以没有淹没就开始。

根据您的意见,这应该工作,并避免警告:

 Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) If Not Intersect(Target, Range("A28")) Is Nothing Then Range("c28:d28").Insert Shift:=xlDown End If End Sub 

如果您仍然收到警告,请尝试以下操作:

 Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) If Not Intersect(Target, Range("A28")) Is Nothing Then Application.DisplayAlerts = False Range("c28:d28").Insert Shift:=xlDown Application.DisplayAlerts = True End If End Sub 

如果您有一种情况,您不确切地知道哪些单元格合并,您可以使用以下内容:

 Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) If Not Intersect(Target, Me.Range("A28")) Is Nothing Then Application.DisplayAlerts = False Me.Range("c28").MergeArea.Insert Shift:=xlDown Application.DisplayAlerts = True End If End Sub 

但请注意,第28行以下的合并区域也可以通过此操作取消。 例如,如果说单元格B30:F30合并,上面的代码将导致它们取消合并。