我有一个文件夹,里面有大约 30 个 excel 文件。在每个文件中,我需要删除大约 20 个特定列。
以下是一些详细信息:
- 我正在使用 Excel 2013
- 列位于excel文件的第一个sheet中,每个文件可以有多个sheet,但需要删除的列位于第一个sheet中。
以下是列的名称,但请注意,列有时会重复:
希瑟
国家之光
一般的
路易莎
特鲁因
希望得到一些帮助。
答案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,但我已经测试过了并且有效)