如何从特定文件夹中的所有 Excel 工作簿中删除特定列

如何从特定文件夹中的所有 Excel 工作簿中删除特定列

我有一个文件夹,里面有大约 30 个 excel 文件。在每个文件中,我需要删除大约 20 个特定列。

以下是一些详细信息:

  1. 我正在使用 Excel 2013
  2. 列位于excel文件的第一个sheet中,每个文件可以有多个sheet,但需要删除的列位于第一个sheet中。
  3. 以下是列的名称,但请注意,列有时会重复:

    希瑟

    国家之光

    一般的

    路易莎

    特鲁因

希望得到一些帮助。

答案1

不确定您是否真的只想要一个工作表函数,但由于您自己没有研究过,我猜您不知道您有哪些选择,因此 VBa 就足够了。

这个 VBa 可以为您完成此操作,但它意味着将其粘贴到每个工作表中,但由于您只有 30 个工作表,所以我认为这是可行的。

Sub Button1_Click()

Dim columnTitles(0 To 5) As String
    columnTitles(0) = "Heather"
    columnTitles(1) = "National Light"
    columnTitles(2) = "General"
    columnTitles(3) = "Louisa"
    columnTitles(4) = "Terruin"

Do While (True)
Dim didDelete As Boolean
didDelete = False

     Dim c As Range
        For Each c In ActiveSheet.UsedRange

             If c.Row > 1 Then
                Exit For
            End If

            For Each Title In columnTitles

                If (Title = c.Value) Then
                    Columns(c.Column).Delete
                    didDelete = True
                    Exit For
                End If

            Next
        Next c

        If (didDelete = False) Then
        Exit Do
        End If


Loop

End Sub


在此处输入图片描述

在此处输入图片描述

(我知道我在屏幕截图中遗漏了 National Light,但我已经测试过了并且有效)

相关内容