楼主:
chiahaug (PTT实业坊)
2016-04-03 12:07:48软件:office EXCEL
版本:2010
VBA程式码如下
dim sheetname as string
sheetname = "ABC"
activesheet.usedrange.autofilter field:=52, criteria1:="<>sheetname"
activesheet的资料有R*C = 100*52
原本目的是针对第52栏进行筛选,筛选条件是把52栏的值为"ABC"的数据筛选掉
但是以上述程式码执行后却变成把52栏的值为"sheetname"的数据筛选掉
想当然根本啥都没筛选到...
sheetname其实是主程式传值过来的(上面写这样只是为了解释)
因此可能会根据使用者指定的值会不同
所以没办法直接一开始就指定是"ABC"
请问各位大大...这样的情形该如何处置??
另想请问的是
同样是R*C = 100*52的数据
我想把52栏的值为"ABC"的数据删掉
目前想到的方法是
1. 筛选出52栏非"ABC"的资料
2. 复制到新的sheet
3. 把原本的全部砍掉
4. 把新的sheet资料再copy回来
这样就会是把52栏的值为"ABC"删掉后的结果了
想请教的是,有人有比这个更快的方法吗?
感谢~
作者: soyoso (我是耀宗) 2016-04-03 12:10:00
criteria1:="<>" & sheetname1.筛选="abc"的资料 2.range.delete3.worksheet.showalldata第2项range筛围避开标题列1.进阶筛选,以复制到其他地方 2.删除工作表或原资料