【发布时间】:2021-09-03 13:27:09
【问题描述】:
我经常下载一个包含 1000 多列的 Excel 文件,其中许多是不需要的,手动删除它们非常繁琐。我找到了一个可以删除不需要的列的 VBA,但这种方法不适合大型列表。
所以,我有一个工作簿,其中 Sheet1 是从 A 到 BQM 的数据和列。我取了所有标题名称并将它们转换为 Sheet2 (A2:A1517) 中的 A 列。我想我正在寻找一种方法让 vba 浏览 Sheet2 中的表格并删除 Sheet1 上任何匹配的标题标题。有什么建议?我是新手,所以慢慢来。
Sub DeleteColumnByHeader()
Set P = Range("A2:BQM2")
For Each cell In P
If cell.Value = "MAP Price" Then cell.EntireColumn.Delete
If cell.Value = "Retail Price" Then cell.EntireColumn.Delete
If cell.Value = "Cost" Then cell.EntireColumn.Delete
If cell.Value = "Additional Specifications" Then cell.EntireColumn.Delete
Next
End Sub
【问题讨论】:
-
1000+列中你想保留多少?
-
Sheet2 是否有要保留的列列表或要删除的列?
标签: excel vba listobject