返回列表 上一主題 發帖

[分享] 優化巨大的VBA

付檔為我的範例檔……
在E3和E4輸入公式,用「進階篩選」……詳見VBE

範例.rar (477.47 KB)

初學VBA乍到twbts

TOP

本帖最後由 GBKEE 於 2011-7-21 17:04 編輯

回復 11# play9091
沒問題, 這樣進階篩選對阿.
工作表函數 ISLOGICAL 參照的值是邏輯值 傳回 TRUE    ,E4 傳回 為TRUE 或FALSE 同樣是邏輯值,
=IF(ISLOGICAL(E4)," & "" & ",A10)"    永遠傳回 ""     這公式是誤打誤撞的
  1. Sub ttt()
  2.     Sheets("Sheet1").Range("E3") = ""   
  3.    '或 Sheets("Sheet1").Range("E3") = "ABC"
  4.   ' 進階篩選 :    篩選準則 是計算是準則(條件裡有計算公式)  , 準則欄位: 不可是資料庫內的欄位 (可以是空白欄位)
  5.     '計算是準則    如E4=  A10   是篩選不到資料
  6.     Sheets("Sheet1").Range("E4").Value = "=AND(TEXT(RIGHT(A11, 8), ""hh:mm:ss"") >= ""02:00:00"",TEXT(RIGHT(A11, 8), ""hh:mm:ss"") <= ""21:30:00"")"
  7.     Range("A10").CurrentRegion.AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:= _
  8.         Range("E3:E4"), Unique:=False
  9. End Sub
複製代碼

TOP

回復 12# GBKEE

上傳錯範例了……那個範例檔是可以成功篩選的……
上傳另外一個檔,同樣的情況,做同樣的篩選,但是確篩選不出來……我的問題是這個…版主應該會清楚我的問題

範例二.rar (773.22 KB)

初學VBA乍到twbts

TOP

回復 13# play9091
可以呀,程式碼跟上一檔案差不多,找不到錯誤.
  1. Sub ttt()
  2.     Sheets("Sheet1").Range("E3").Value = ""
  3.     Sheets("Sheet1").Range("E4").Value = "=AND(TEXT(RIGHT(A11, 8), ""hh:mm:ss"") >= ""02:00:00"",TEXT(RIGHT(A11, 8), ""hh:mm:ss"") <= ""21:30:00"")"
  4.    ' Range("A11").Select
  5.    ' Range(Selection, Selection.End(xlToRight)).Select
  6.    ' Range(Selection, Selection.End(xlDown)).Select
  7.     Range("A10:EQ5482").AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:= _
  8.         Range("E3:E4"), Unique:=False
  9. End Sub
複製代碼

TOP

回復 14# GBKEE

感謝版大耐心的回答我的每一個爛問題……關於進階篩選的問題,我找到錯誤的地方了,就是我選擇被篩選的地方選的不夠大……所以有些的資料沒有被篩選到。
明天我又要開始我的另外一份VBA旅程,還請先進們多多指教……
我也會持續的打擾各位的!!!
初學VBA乍到twbts

TOP

        靜思自在 : 人的眼睛長在前面,只看到別人的缺點,絲毫看不到自己的缺點。
返回列表 上一主題