[算表] autofilter的criteria1條件設定

作者: 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.刪除工作表或原資料
作者: chiahaug (PTT實業坊)   2016-04-03 14:03:00
SO大的第五樓推文是指問題二的第二種方式嗎?還是承接三樓之後的動作??
作者: soyoso (我是耀宗)   2016-04-03 14:33:00
是指問題2的第2種方式
作者: chiahaug (PTT實業坊)   2016-04-03 16:14:00
SO大非常非常感謝你!!!!

Links booklink

Contact Us: admin [ a t ] ucptt.com