vba - 如何使用查找列索引功能同时删除多列

标签 vba excel

我做了一些谷歌搜索,但不知道如何同时删除多个列。由于输入到该工具中的数据不一致,因此我必须使用查找函数来指示要删除哪一列。目前,只有第一个删除功能起作用,其余的都被忽略。我使用消息框来确保查找函数正确拉出正确的列索引。有人对如何删除多个有任何想法吗?谢谢!

Vertical = Worksheets("Target List").Rows("1").Find("Vertical").Column
DistID = Worksheets("Target List").Rows("1").Find("Distributor ID").Column
DistName = Worksheets("Target List").Rows("1").Find("Distributor Name").Column

Sheets("Target List").Select
Columns(Vertical).EntireColumn.Delete
Columns(DistID).EntireColumn.Delete
Columns(DistName).EntireColumn.Delete

最佳答案

尝试,

dim i as long, col as variant, c as variant

col = array("Vertical", "Distributor ID", "Distributor Name")

with Worksheets("Target List")
    for i=lbound(col) to ubound(col)
        c= application.match(col(i), .rows(1), 0)
        if not iserror(c) then .columns(c).entirecolumn.delete
    next i
end with

尝试一次删除所有列将需要重复的错误控制。最好一次删除一个。

关于vba - 如何使用查找列索引功能同时删除多列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51157441/

相关文章:

vba - 将工作表 1 第 1 列与工作表 2 第 1 列比较工作表 1 第 6 列中的位置值

VBA 比较运算符用大小写计算不正确

VBA更改表单控件背景颜色

sql - ADODB/Access : Update Multiple Fields from Record in Same Table

vba - 当您有变量保存值时插入 COUNTIF 公式

vba - 比较两个字符串变量忽略大小写

vba - 使 Excel 图表上的 X 轴和 Y 轴比例相等

c++ - 如何将字符串 "YYYY/MM/DD"格式日期转换为 VARIANT 类型日期,反之亦然

vba - 在 Excel 中通过宏向表格添加列时设置列标题

excel - 如何移植 OneNote 2010 vba 脚本(托管在 XLSM 文件中)以在 Onenote 2016 中工作