当行包含特定值时删除列

时间:2013-11-05 20:40:48

标签: excel vba excel-2010

我有一个非常大的ex​​cel文件,每周有一周的结束金额。我想删除周结束列。我试图在VBA中写这个,以便我可以将它应用于多个工作表,因为我必须经常这样做。

所有周末列在第3行都有“W / E”,我想编写代码来删除第3行中包含“W / E”的任何列。

我知道有删除包含列中值的行的答案,但我无法将这些代码转换为相反的方法(根据某行中的值删除列)。

提前感谢您的帮助!

2 个答案:

答案 0 :(得分:0)

dim c as range, rngDel as range

for each c in activesheet.range("A3:Z3").cells
    if instr(c.value, "W/E")>0 then
         if rngDel is nothing then
            set rngDel = c
         else
            set rngDel = application.union(rngDel, c)
         end if
    end if
next c

if not rngDel is nothing then rngDel.entirecolumn.delete

答案 1 :(得分:0)

相当粗糙,但这可能有效

Columns(WorksheetFunction.match("W/E", rows(3), 0)).Delete