删除 ListObject动态表中的所有列,除了基于其标题宏 vba 的特定列

问题描述

我有一个动态表 (ListObject),并尝试编写宏以删除除“name1”和“name2”之外的所有列。 我该怎么做?

谢谢, 丽塔

解决方法

试试这个:

Sub DeleteColumnsInListObject()
Dim ws As Worksheet
Dim lo As ListObject
Dim loCol As ListColumn



Set ws = ThisWorkbook.Worksheets("Sheet1")
Set lo = ws.ListObjects("Table1")

For Each loCol In lo.ListColumns
    If loCol.Range.Cells(1).Value <> "name1" And loCol.Range.Cells(1).Value <> "name1" Then
        loCol.Range.Delete
    End If
Next

End Sub