VBA字停止合并单元格向合并单元格添加新行

时间:2017-03-15 12:11:50

标签: vba excel-vba word-vba excel

我有一个单词表,我将1个单元格与文本合并到它左边的2个空单元格中。每次合并时,它会在合并单元格的文本下添加一个新行。这弄乱了桌子的整个布局。此表已从Excel复制并粘贴到Word中。我该如何解决这个问题?

Dim table1 as Table
With table1
.Cell(Row:=1, Column:=3).Merge _ 
MergeTo:=.Cell(Row:=1, Column:=5)
End With

2 个答案:

答案 0 :(得分:1)

Merge命令只能合并两个相邻的单元格。您可以使用循环来合并更多单元格。

Dim i As Long

With ActiveDocument.Tables(1).Rows(1)
    For i = 3 To 4
        .Cells(2).Merge .Cells(i)
    Next i
End With

细胞3和4与细胞(2)合并。

答案 1 :(得分:1)

此变体包括两种解决方案,用于处理要合并的单元格中的现有内容。

Private Sub TestMerge()
    Dim i As Long

    With ActiveDocument.Tables(1).Rows(1)
        For i = 3 To 4
'            .Cells(i).Range.Text = ""
            .Cells(2).Merge .Cells(i)
        Next i
        .Cells(2).Range.Text = ""
    End With
End Sub

第一种解决方案删除了​​单元格3和4中的所有内容,但保留了单元格(2)的内容。在上面的代码中,它由代码前面的撇号静音。

第二种方法是从合并的单元格中删除所有内容。我建议仅在Application.ScreenUpdating = False时运行此版本,因为它会导致大量闪烁。

还有其他几种方法,但为了推荐最适合您需求的方法,我们需要更好地了解您的需求。 BTW,如果可能的话,在输入时从表中删除空白。将空白浮动在文档周围,并在最不期望或想要的时候弹出,这绝不是一个好主意。