【问题标题】:Delete Row of a Word Table if Specific Value Exists using Excel VBA如果使用 Excel VBA 存在特定值,则删除 Word 表的行
【发布时间】:2017-11-24 22:06:17
【问题描述】:

所以我在 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

【问题讨论】:

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


    【解决方案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

    截图

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-07-17
      • 2017-06-20
      • 2016-05-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多