0

(我热心地搜索了论坛,但我能找到的唯一类似的“替换”问题与 Python、Java 等有关,而不是 VBA)

  • 我在 MS Word (2010) 文档中有一个表格(它有两列,但只有第二列有文本)
  • 第二列中的某些单元格有一行文本并且没有段落标记
  • 第二列中的其他单元格有两行文本和两个段落标记 (^p)
  • 这两种细胞之间没有规律的模式
  • 在有第二个段落标记的地方,它总是直接出现在单元格结束标记之前

我真的需要一个宏来从它出现的每个单元格中删除(替换为“”)第二个(=final)段落标记,但忽略单元格中的任何第一段标记。

如果有人有时间和意愿帮助我处理这个宏,我将非常感激。正如您可能已经猜到的那样,尽管我试图给自己上一个速成课程,但我在 VBA 方面的经验很少:我更习惯于录制宏,在这种更复杂的情况下,这不是一个选择。

当谷歌发现我这个时,我的希望就升起来了——看起来它可以适应http://www.vbaexpress.com/kb/getarticle.php?kb_id=334;但我不知道如何调整它以仅替换 ^p 的第二个(/最终)出现。

先感谢您。

4

1 回答 1

1

怎么样:

Dim tbl As Table
Dim c As Cell


For Each tbl In ActiveDocument.Tables
    For Each c In tbl.Columns(2).Cells
        'The end of a cell without a carriage return is vbCr & Chr(7)
        If Right(c.Range.Text, 3) = vbCr & vbCr & Chr(7) Then
            c.Range.Text = Mid(c.Range.Text, 1, Len(c.Range.Text) - 3) & Chr(7)
        End If
    Next
Next
于 2012-08-28T15:21:30.683 回答