2013-07-12 27 views
1

大家中午好,Excel中是複製所有數據,即使自動篩選條件匹配沒有數據項

我是新來的,只有約VBA合理的知識,所以請原諒,如果我的術語可能是不對的。

我有一個excel文件,我寫了幾個宏。主宏根據我在同一工作簿中的單獨工作表中的單元格中鍵入的條件將自動篩選器應用於我的所有數據。過濾器工作正常,如果指定的條件與我的數據中的記錄匹配,那麼該數據將被複制並粘貼到單獨的工作表中。 不幸的是,如果我輸入的數據中不存在標準,excel/VBA將複製我的所有數據(每個7000條記錄)並將整個數據粘貼到單獨的工作表中,但實際上沒有找到任何結果。我希望你能給我建議如何過濾這個過濾器,以及使用什麼代碼來使過濾器正常工作。

基本上我想要的是如果過濾器不能匹配任何數據,那麼沒有數據被複制/粘貼。我的宏檢查幾個標準(總共8),然後應用自動過濾器。我不知道我是否需要一個代碼,並將其添加到每個標準的每個代碼行中,或者只添加一個。

謝謝你的幫助!

+0

我們可以看到代碼嗎? –

回答

0

我會通過比較表中的行數與過濾表中的行數來檢查過濾器是否產生任何結果/行。

'assuming the table starts from A1, 
MsgBox Range("A1").CurrentRegion.Rows.Count 
'confirms the number of rows in the table. 
'After trying AutoFilter, 
MsgBox ActiveSheet.AutoFilter.Range.Columns(1).SpecialCells(xlCellTypeVisible).Count 
'confirms the number of filtered rows. 

將這兩個值存儲在變量中並比較它們,或者只是檢查第二個值是否爲1(標題行)。如果是,請不要嘗試複製。

相關問題