从VBA中的多个表中清除数据

时间:2019-02-14 11:53:04

标签: excel vba excel-2013

我在名为“ Builder”的工作表上有一系列20个表,每个表都有自己的个人名称。我想做的是创建一个变量,该变量仅隔离我告诉它的19个表,以便在它们上创建一个clear content过程。剩下的1张表需要保持不变,因为此表是其他19张表的概述。我发现以下内容可以删除1张表的行,但是我需要扩展它以在多个表上运行该过程。

Sub Macro3()
    With Sheets(Builder").ListObjects("P6WC_00002")
        If Not .DataBodyRange Is Nothing Then
             .DataBodyRange.Delete
        End If
    End With
End Sub

表名称的其他一些示例是:D86-03116D87-03215F08-00025

预先感谢

1 个答案:

答案 0 :(得分:1)

使用For Each循环和排除检查:

Dim TableToCheck AS ListObject

For Each TableToCheck In ThisWorkbook.Worksheets("Builder").ListObjects
    If TableToCheck.Name <> "P6WC_00000" Then 'Name of Table you do NOT want to update
        If Not (TableToCheck.DataBodyRange Is Nothing) Then TableToCheck.DataBodyRange.Delete
    End If
Next TableToCheck