इस धागे पर आने के लिए धन्यवाद।एक्सेल वीबीए: एक समय में केवल एक ऑटोफिल्टर रेंज को कैसे बेकार करें? कोड प्रदान किया गया
मैं क्या है: पंक्तियों पर एक स्वत: फ़िल्टर एक साथ
-एक रिपोर्ट: जी
मैं क्या जरूरत है:
-Circumstantial कोड जो किसी विशेष स्तंभ unfilters अगर कोई है उस पर एक फ़िल्टर।
- नीचे दिए गए मेरे कोड को ए: जी की पूरी श्रृंखला में घुसपैठ कर रहा है।
- इस उदाहरण में, मैं केवल "एफ" को फ़िल्टर करना चाहता हूं, अगर उन्हें फ़िल्टर किया जाता है तो अकेले अन्य फ़िल्टर छोड़ दें।
With Sheets("DATA")
If .Range("F1").AutoFilter = True Then
ActiveSheet.Range("$A$1:$G$59826").AutoFilter Field:=6
Else
End If
End With
किसी भी और सभी विचारों की बहुत सराहना की जाती है! आपको बहुत - बहुत धन्यवाद!
आपका कोड मुझे ठीक लग रहा है, मैंने इसका परीक्षण भी किया और जब मैं इसे आजमाता हूं तो यह वैसे ही करता है जैसा आप पूछते हैं, एकल क्षेत्र से ऑटोफिल्टर हटा देता है। – user2140261
जब मैं कोड चलाता हूं तो यह पूरी तरह ऑटोफिल्टर को हटा देता है। – dendarii
हालांकि, यह उन अन्य फ़ील्ड को भी हटा देता है जिन्हें पहले ही फ़िल्टर किया जा चुका है। तो ऑटोफिल्टर को कॉलम बी और सी में रीसेट कर दिया जाएगा यदि वे फ़िल्टर किए गए हैं। मैंने वास्तव में अपने स्वयं के प्रश्न का उत्तर दिया, लेकिन मेरे पास जवाब देने के लिए पर्याप्त प्रतिनिधि नहीं है। कोड है: एडीआर = स्प्लिट (ActiveSheet.UsedRange.Address, "$") lastRow = Addr (UBound (Addr)) आर = lastRow 1 चरण -1 यदि लेन (सेल (आर, "ए") । वैल्यू) फिर lastRow = r के लिए बाहर निकलें अगला ActiveSheet.Range ("$ A $ 1: $ G" और LastRow)।ऑटोफिल्टर फ़ील्ड: = 6 –