Board logo

標題: [發問] 篩選問題 [打印本頁]

作者: yliu    時間: 2013-10-29 23:55     標題: 篩選問題

請問如何用篩選方式將二個欄位的值同時是0不顯示?
下面寫法,篩選後,結果只剩下二個欄位的值同時>0, 這不是我要的結果.
希望篩選後的結果如圖一.
[attach]16511[/attach]

[attach]16512[/attach]

Private Sub CommandButton1_Click()
With Sheets("sheet1")
  .AutoFilterMode = False
With .Range("A4:C9")
  .AutoFilter
  .AutoFilter field:=2, Criteria1:="<>0"
  .AutoFilter field:=3, Criteria1:="<>0"
   
End With
End With

End Sub
作者: genes    時間: 2013-10-30 00:52

可用advanced filter

criteria range看下面
2012年 2013年
<> 0    = 0
= 0      <> 0
> 0      > 0
作者: yliu    時間: 2013-10-30 13:07

回復 2# genes
請問語法該如何寫?
看了說明, 試過了一直都無法成功.
作者: genes    時間: 2013-10-30 15:53

回復 3# yliu
  1. Sub customfilt()
  2. With ActiveSheet
  3. .Range("B1:C6").AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Range _
  4.         ("E1:F4"), CopyToRange:=.Range("G1"), Unique:=False
  5. End With
  6. End Sub
複製代碼

作者: genes    時間: 2013-10-30 15:57

回復 3# yliu

criteria range即E1:E4寫下這個, 注意= 0要這樣寫="= 0"
2012年 2013年
<> 0    = 0
= 0      <> 0
> 0      > 0
作者: yliu    時間: 2013-10-30 17:20

回復 5# genes

改寫如下, 但出現"執行階段錯誤1004" 參照無效 , 請問語法哪裡錯了? (不COPY 到別的儲存格, 在原位置進行篩選)
  
Private Sub CommandButton1_Click()
With Sheets("sheet1")
.AutoFilterMode = False
   With .Range("B4:C9")
    .AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:="<>0"
    End With
    End With
End With
End Sub
作者: c_c_lai    時間: 2013-10-30 18:16

回復 6# yliu
[attach]16513[/attach]
作者: yliu    時間: 2013-10-30 21:02

回復 7# c_c_lai
謝謝你, 已解決.
作者: GBKEE    時間: 2013-11-1 11:01

回復 6# yliu
  1. Private Sub CommandButton1_Click()
  2.     With Sheets("sheet1")
  3.         .Range("A4").CurrentRegion.AdvancedFilter xlFilterInPlace, .Range("F1:F2") ',其他位置
  4.         '.Range("F1:F2")   自動篩選的準則位置
  5.         'xlFilterInPlace   參數值 = 1  在資料庫顯示篩選的資料
  6.         'xlFilterCopy      參數值 = 2  在其他位置顯示篩選的資料
  7.     End With
  8. End Sub
複製代碼

作者: c_c_lai    時間: 2013-11-1 12:55

回復 8# yliu
#9 樓 GBKEE 版大的應用方法蠻值得推薦的,簡潔扼要!
篩選條件只要符合 =OR(B5<>0,C5<>0) 便成立了。
[attach]16534[/attach]
作者: stillfish00    時間: 2013-11-1 13:36

回復 10# c_c_lai
第一次注意到這種用法,確實方便多了!
作者: joey0415    時間: 2013-11-7 11:27

本帖最後由 joey0415 於 2013-11-7 11:30 編輯

回復 1# yliu

採用sql法,很方便哦!

select * from [Sheet2$] where  [2012年]<>0 or  [2013年]<>0

欄位中的 [2012年] 要加上 [   ]    否則會有問題

    [attach]16616[/attach]

[attach]16617[/attach]

[attach]16618[/attach]


[attach]16620[/attach]




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)