Vba 删除表中不包含关键字的行
现在我在Word文档中有一个很长的表,我是从Excel工作表填充的。它有6列,我试图用Word VBA编写一些代码,如果第一列中的单元格不是以等号开始,它将遍历表中的所有行并删除整行 例如,我只想保留包含如下文本的行:Vba 删除表中不包含关键字的行,vba,ms-word,Vba,Ms Word,现在我在Word文档中有一个很长的表,我是从Excel工作表填充的。它有6列,我试图用Word VBA编写一些代码,如果第一列中的单元格不是以等号开始,它将遍历表中的所有行并删除整行 例如,我只想保留包含如下文本的行: "=1+S -03F7", "=1+M -06M1", etc. etc. 我将如何编写此代码?我不能给代码任何特定的内容,因为等号后面的部分对于每一行都是不同的 所以这不管用,对吧 If Not ActiveDocument.Tables(83).Columns(1).Ra
"=1+S -03F7", "=1+M -06M1", etc. etc.
我将如何编写此代码?我不能给代码任何特定的内容,因为等号后面的部分对于每一行都是不同的
所以这不管用,对吧
If Not ActiveDocument.Tables(83).Columns(1).Range.Text = "=" Then
EntireRow.Select
Selection.Delete
我想我应该引用第1列中的单元格,而不是列本身。。。而且,它也不起作用,因为它只寻找具有等号的东西。。。我不知道如果它找到没有等号的单元格,如何让它选择行。我不知道如何在第一列的单元格中按大小写进行匹配。您可以使用rows属性循环表中的行。然后可以使用Cells属性查找该行中的第一个单元格。然后,您可以只检查范围的第一个字符:
Sub DeleteUnwantedRows()
Dim t As Table
Dim r As Row
Set t = ActiveDocument.Tables(1)
For Each r In t.Rows
If r.Cells(1).Range.Characters(1) <> "=" Then r.Delete
Next r
End Sub
“我从Excel工作表中填充的”是什么意思?你嵌入了OLE对象?你复制粘贴了吗?您是使用VBA创建表的吗?我有一个代码,可以从Excel自动在Word表中形成行,直到Excel工作表结束。它既不嵌入也不复制/粘贴。这是一个普通的表格,需要一些编辑,因为它是直接从Excel导入的。工作起来很有魅力!多谢各位