如果使用Excel VBA存在特定值,则删除Word表的行

时间:2017-06-21 20:24:14

标签: excel excel-vba ms-word excel-2010 excel-2007 vba

所以我在word文档上有一个表格,并想知道如何重写这个以删除表格的整行(文本中所有单元格中存在的文本以及行本身的存在) )如果第一列中的值是空单元格:

Set wdTable = wdDoc.Tables(1)
With wdTable.Cells(i,1)
    For i = 2 To wdTable.Rows.Count
        If .Value = "" Then
           .EntireRow.Delete
        End If
    Next i
End With

1 个答案:

答案 0 :(得分:1)

你的意思是这样吗?

Set wdTable = wdDoc.Tables(1)

For i = wdTable.Rows.Count To 2 Step -1
    If wdTable.Cell(i, 1).Range.Text = Chr(13) & Chr(7) Then wdTable.Rows(i).Delete
Next i

注意

  1. 您必须以反向方式遍历行
  2. 即使单元格看起来是空的,也不是Chr(13) & Chr(7),因此您无法使用=""
  3. 您无法使用.Cells。它是.Cell
  4. 没有.Value属性。它是.Range.Text
  5. <强>截图

    enter image description here