从包含合并单元格的表中删除列

Raj*_*Raj 11 vba vsto word-vba

我正在尝试从具有水平合并单元格的表中删除列

删除列之前的表

Selection.MoveEnd Unit:=WdUnits.wdCell, Count:=3
Selection.Columns.Delete
Run Code Online (Sandbox Code Playgroud)

尽管列已被删除,但在此过程中将删除合并的单元格,从而留下损坏的表格.

删除列后的表

删除行几乎类似的方法工作正常,如本答案中所述

解决方法

我正在做这样的事情作为解决方法

Selection.MoveEnd Unit:=WdUnits.wdCell, Count:=3
Selection.MoveDown Unit:=WdUnits.wdLine, Count:=2, Extend:=wdExtend
Selection.Cells.Delete
Run Code Online (Sandbox Code Playgroud)

然后将索引1,2处的Cell宽度设置为表行的其余部分.这样就可以避免合并单元格被删除.

Dir*_*ten 0

这应该可以做到

Sub DeleteCols()
    Dim Col2Delete As Range
    Set Col2Delete = Selection.EntireColumn
    Col2Delete.Delete
End Sub
Run Code Online (Sandbox Code Playgroud)