我有一个单词表,我将1个单元格与文本合并到它左边的2个空单元格中。每次合并时,它会在合并单元格的文本下添加一个新行。这弄乱了桌子的整个布局。此表已从Excel复制并粘贴到Word中。我该如何解决这个问题?
Dim table1 as Table
With table1
.Cell(Row:=1, Column:=3).Merge _
MergeTo:=.Cell(Row:=1, Column:=5)
End With
答案 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,如果可能的话,在输入时从表中删除空白。将空白浮动在文档周围,并在最不期望或想要的时候弹出,这绝不是一个好主意。