gpt4 book ai didi

vba - 找到特定单词时如何删除表格单元格中的文本

转载 作者:行者123 更新时间:2023-12-02 01:54:42 24 4
gpt4 key购买 nike

在我下面的代码中,当单词不存在时,所有表格内容都会被删除。如何解决?多个表格的文本位于 Cell(1,1) 中。

Sub DeleteText()

StartWord = "Orientation:"
For Each oTbl In ActiveDocument.Tables
Set oRng = oTbl.Range

With oRng
.Find.Execute Findtext:=StartWord & "*", MatchWildcards:=True
.MoveStart wdCharacter, 0
.MoveEndUntil vbCr
.Delete

End With
Next
End Sub

最佳答案

首先您需要添加if 语句 来检查您的文本是否被找到。您会在下面的代码中找到它。但是,我还改进了删除找到文本的单元格的全部内容的方式。当单元格中有更多行/段落/句子时,我的解决方案更好。

Sub DeleteText_Improved()

Dim StartWord As String
Dim oTbl As Table
Dim oRng As Range

StartWord = "Mauris"

For Each oTbl In ActiveDocument.Tables
Set oRng = oTbl.Range

With oRng
.Find.Execute Findtext:=StartWord & "*", MatchWildcards:=True
If .Find.Found Then
'how to select whole cell range
oTbl.Cell(.Information(wdEndOfRangeRowNumber), _
.Information(wdEndOfRangeColumnNumber)).Range.Delete

End If
End With
Next
End Sub

最后的评论- 您的代码仅适用于您搜索的单词的第一次出现。它不会删除出现该词的其他单元格。

关于vba - 找到特定单词时如何删除表格单元格中的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20921291/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com