【问题标题】:Move Word Table Row Without Using Clipboard在不使用剪贴板的情况下移动 Word 表格行
【发布时间】:2020-07-07 05:19:01
【问题描述】:

我在 Word 中有一个表格,我需要使用 VBA 将某些行移动到表格底部。

我知道我可以通过剪切和粘贴 (myTable.Rows(2).Select ... Selection.Cut ... etc.) 来做到这一点,但我不想使用剪贴板。

虽然我可以手动突出显示该行并使用鼠标拖动它,但当我录制宏时,不允许拖动,并且似乎没有任何明显的菜单指令来执行等效操作。

我唯一能想到的另一件事是(使用 VBA):

  1. 在底部添加新行
  2. 从要移动的行中复制新行中的数据
  3. 删除原行

必须有一个“更性感”的解决方案;)

【问题讨论】:

    标签: vba ms-word


    【解决方案1】:

    您可以探索以下两点:

    使用格式化文本:

    Sub moverow4table1toend()
    Dim source As Word.Range
    Dim target As Word.Range
    Dim t As Word.Table
    Set t = ActiveDocument.Tables(1)
    Set target = t.Range
    target.Collapse wdCollapseEnd
    Set source = t.Rows(4).Range
    target.FormattedText = source.FormattedText
    source.Rows(1).Delete
    Set source = Nothing
    Set target = Nothing
    Set t = Nothing
    End Sub
    

    或者,如果您实际上是在做一些更像排序的事情,您可以添加一列(假设您没有达到限制,用目标行号填充它,对表格进行排序,然后删除该列。

    【讨论】:

    • 工作愉快!谢谢你:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-17
    • 2019-07-10
    • 1970-01-01
    • 2016-07-05
    • 1970-01-01
    • 2010-11-12
    相关资源
    最近更新 更多