एक्सेल का स्वतः फ़िल्टर कुछ शर्तों के आधार पर डेटा निकालने के लिए सुविधा वास्तव में कुशल है। लेकिन कभी-कभी तकनीकी समस्याओं के कारण, स्वतः फ़िल्टर छिपा हो जाता है या भले ही कोई फ़िल्टर न हो, एक्सेल दिखाता है कि वहाँ है। उस स्थिति में, यह समझना काफी असंभव है कि क्या स्वतः फ़िल्टर एक्सेल वर्कशीट के लिए सक्षम है या नहीं। VBA लागू किया जा रहा है एक्सेल में किसी भी ऑपरेशन को चलाने के लिए सबसे प्रभावी, तेज और सबसे सुरक्षित तरीका है। इस लेख में, हम आपको यह जांचने के लिए कि ऑटोफ़िल्टर चालू है या नहीं के 4 आसान और त्वरित तरीके दिखाएंगे। एक्सेल में VBA मैक्रो . के साथ ।
कार्यपुस्तिका डाउनलोड करें
आप यहां से निःशुल्क अभ्यास एक्सेल वर्कबुक डाउनलोड कर सकते हैं।
VBA के साथ 4 त्वरित तरीके यह जांचने के लिए कि Excel में AutoFilter चालू है या नहीं
इस अनुभाग के बाद, आप सीखेंगे कि कैसे जांचें कि AutoFilter चालू है या नहीं एक्सेल में VBA . के साथ 4 अलग-अलग तरीकों से।
ऊपर उदाहरण डेटासेट . है कि यह लेख प्रक्रियाओं का वर्णन करने के लिए अनुसरण करेगा।
1. एक्सेल वर्कशीट में ऑटोफिल्टर चालू या बंद है या नहीं यह जांचने के लिए वीबीए एम्बेड करें
इस अनुभाग में, आप सीखेंगे कि कैसे जांचें कि एक्सेल वर्कशीट के लिए ऑटोफिल्टर चालू है या नहीं VBA . के साथ . निष्पादित करने के चरण जो नीचे दिए गए हैं।
चरण:
- शुरुआत में, Alt + F11 दबाएं अपने कीबोर्ड पर या टैब पर जाएं डेवलपर -> विजुअल बेसिक विजुअल बेसिक संपादक खोलने के लिए ।
- अगला, पॉप-अप कोड विंडो में, मेनू बार से, सम्मिलित करें -> मॉड्यूल क्लिक करें ।
- फिर, प्रतिलिपि करें निम्नलिखित कोड और चिपकाएं इसे कोड विंडो में।
Sub AutoFilterCheck()
If ActiveSheet.AutoFilterMode = True Then
MsgBox "Auto Filter is turned on"
Else
MsgBox "Auto Filter is turned off"
End If
End Sub
आपका कोड अब चलने के लिए तैयार है।
- अब, F5 दबाएं अपने कीबोर्ड पर या मेनू बार से चलाएं -> उप/उपयोगकर्ता प्रपत्र चलाएं . चुनें . आप बस छोटा रन आइकन . पर भी क्लिक कर सकते हैं उप-मेनू बार में मैक्रो चलाने के लिए।
सफल कोड निष्पादन के बाद, परिणाम देखने के लिए निम्न छवि देखें।
अब, ऊपर की छवि को देखें। भले ही डेटासेट में कोई फ़िल्टर तीर न हो, एक्सेल MsgBox हमें बता रहा है कि इस शीट में ऑटोफ़िल्टर चालू है ।
VBA लागू किया जा रहा है इस प्रकार के परिदृश्यों के लिए वास्तव में सुविधाजनक है जहां किसी भी ऑपरेशन के बारे में अनिश्चितता है; वीबीए जब आपकी आंखें उन्हें नहीं देख पाती हैं तब भी मैक्रो आपको सही परिणाम निकालने में मदद करता है।
VBA कोड स्पष्टीकरण
If ActiveSheet.AutoFilterMode = True Then
MsgBox "Auto Filter is turned on"
Else
MsgBox "Auto Filter is turned off"
End If
कोड का यह भाग यदि सक्रिय शीट के लिए ऑटो फ़िल्टर मोड सही है . को संदर्भित करता है , फिर "ऑटो फ़िल्टर चालू है . लौटाता है एक्सेल में संदेश MsgBox; अन्यथा , यह "ऑटो फ़िल्टर बंद है . फेंकता है संदेश।
और पढ़ें: Excel VBA:मौजूद होने पर ऑटोफ़िल्टर निकालें (7 तरीके)
2. वीबीए कोड डीबग करें और सक्रिय शीट में कुल ऑटोफ़िल्टर की संख्या प्राप्त करें
यह अनुभाग आपको दिखाएगा कि आप कोड को डीबग कैसे कर सकते हैं और कितने ऑटोफ़िल्टर की गणना कर सकते हैं एक्सेल शीट में हैं। कोड निष्पादित करने के बाद, यह परिणाम को तत्काल विंडो . में फेंक देगा एक्सेल का VBA ।
इसे प्राप्त करने के चरण नीचे दिए गए हैं।
चरण:
- पहले की तरह ही, Visual Basic Editor खोलें डेवलपर . की ओर से टैब और सम्मिलित करें एक मॉड्यूल कोड विंडो में।
- फिर, प्रतिलिपि करें निम्नलिखित कोड और चिपकाएं इसे कोड विंडो में।
Sub CountAutoFilters()
Dim iCount As Long
If ActiveSheet.AutoFilterMode = True Then iCount = 1
Debug.Print "AutoFilterMode Count: " & iCount
End Sub
आपका कोड अब चलने के लिए तैयार है।
- उसके बाद, भागो मैक्रो जैसा कि हमने आपको उपरोक्त अनुभाग में दिखाया था। परिणाम नीचे दी गई छवि में दिखाया गया है।
जैसा कि आप ऊपर की छवि में देख सकते हैं, तत्काल विंडो . में आपको सक्षम ऑटोफ़िल्टर की कुल संख्या . मिल जाएगी आपकी वर्कशीट में।
VBA कोड स्पष्टीकरण
Dim iCount As Long
घोषणा करना चर ।
If ActiveSheet.AutoFilterMode = True Then iCount = 1
Debug.Print "AutoFilterMode Count: " & iCount
कोड में इस दो पंक्तियों का अर्थ है, कि यदि सक्रिय शीट के लिए ऑटो फ़िल्टर मोड सही है , फिर गिनना शुरू करें और कुल गणना प्रिंट करें ।
और पढ़ें: VBA से Excel में समान फ़ील्ड पर एकाधिक मानदंड वाले ऑटोफ़िल्टर (4 तरीके)
3. यह जांचने के लिए वीबीए लागू करें कि कोई विशिष्ट कॉलम फ़िल्टर किया गया है या नहीं एक्सेल में
मान लीजिए कि आप जांचना चाहते हैं कि क्या एक विशिष्ट कॉलम आपकी एक्सेल स्प्रेडशीट में फ़िल्टर किया गया है या नहीं VBA . के साथ ।
आइए देखें कि इसे कैसे करना है।
चरण:
- जैसा कि पहले दिखाया गया है, विजुअल बेसिक एडिटर खोलें डेवलपर . की ओर से टैब और सम्मिलित करें एक मॉड्यूल कोड विंडो में।
- फिर, प्रतिलिपि करें निम्नलिखित कोड और चिपकाएं इसे कोड विंडो में।
Sub CheckColumnFilter()
Dim iSheet As Worksheet
Set iSheet = ActiveSheet
If iSheet.AutoFilter.Filters(2).On Then
MsgBox "Column B is filtered."
Else
MsgBox "Column B is not filtered."
End If
End Sub
आपका कोड अब चलने के लिए तैयार है।
- बाद में, चलाएं मैक्रो और आउटपुट देखने के लिए निम्न छवि को देखें।
अब, ऊपर की छवि पर विचार करें। भले ही आप देख सकते हैं कि स्तंभ B . में एक फ़िल्टर तीर है , मैक्रो हमें बता रहा है कि वहाँ नहीं है। इसलिए, सफल कोड निष्पादन के बाद, हम कह सकते हैं कि स्तंभ B स्वतः फ़िल्टर नहीं है ।
VBA कोड स्पष्टीकरण
Dim iSheet As Worksheet
घोषणा करना चर कार्यपत्रक . के लिए ।
Set iSheet = ActiveSheet
सक्रिय पत्रक संगृहीत करें घोषित चर में।
If iSheet.AutoFilter.Filters(2).On Then
MsgBox "Column B is filtered."
Else
MsgBox "Column B is not filtered."
End If
कोड का यह भाग यदि कॉलम 2 या कॉलम B के लिए ऑटो फ़िल्टर सक्रिय शीट के लिए सही है को संदर्भित करता है , फिर "स्तंभ B फ़िल्टर किया जाता है" लौटाता है। एक्सेल में संदेश MsgBox; अन्यथा , यह फेंकता है “स्तंभ B फ़िल्टर नहीं किया गया है। संदेश।
और पढ़ें: एक्सेल में वीबीए के साथ मूल्यों को ऑटोफिल्टर कैसे करें जो एक निश्चित मूल्य के बराबर नहीं है
4. एक्सेल वर्कबुक में सक्षम ऑटोफिल्टर की जांच करने के लिए वीबीए मैक्रो
इस अनुभाग में, आप सीखेंगे कि कैसे आप किसी विशिष्ट Excel कार्यपुस्तिका में किसी शीट के लिए सक्षम या अक्षम AutoFilter की जांच कर सकते हैं। ।
निष्पादित करने के चरण जो नीचे दिए गए हैं।
चरण:
- सबसे पहले, विजुअल बेसिक एडिटर खोलें डेवलपर . की ओर से टैब और सम्मिलित करें एक मॉड्यूल कोड विंडो में।
- फिर, प्रतिलिपि करें निम्नलिखित कोड और चिपकाएं इसे कोड विंडो में।
Sub CheckAutofilterSheet()
Dim z As Double
For z = 1 To ThisWorkbook.Sheets.Count
If ThisWorkbook.Sheets(z).AutoFilterMode Then
MsgBox ThisWorkbook.Sheets(z).Name & " has enabled Autofilter"
End If
Next
End Sub
आपका कोड अब चलने के लिए तैयार है।
- अगला, चलाएं मैक्रो। अब, परिणाम देखने के लिए निम्न चित्र को देखें।
जैसा कि आप ऊपर की छवि में देख सकते हैं, हमारी कार्यपुस्तिका में "डेटासेट . नामक एक कार्यपत्रक है " एक्सेल का MsgBox हमें दिखा रहा है कि “डेटासेट” शीट में ऑटोफ़िल्टर चालू है . आप इस कोड को अपनी सभी स्प्रैडशीट के लिए किसी विशिष्ट Excel कार्यपुस्तिका में निष्पादित कर सकते हैं।
VBA कोड स्पष्टीकरण
Dim z As Double
घोषणा करना चर ।
For z = 1 To ThisWorkbook.Sheets.Count
लूपिंग प्रारंभ करता है पहली शीट से कुल शीट संख्या तक मौजूदा कार्यपुस्तिका का।
If ThisWorkbook.Sheets(z).AutoFilterMode Then
MsgBox ThisWorkbook.Sheets(z).Name & " has enabled Autofilter"
End If
Next
अगर पहली शीट में ऑटो फ़िल्टर मोड चालू है , फिर संदेश को MsgBox . में फेंक दें . उसके बाद, कोड शर्त समाप्त करता है और अगली शीट पर जाता है पुनरावृत्ति करने के लिए। यह तब तक जारी रखता है जब तक कि यह सभी पत्रक गणना . तक नहीं पहुंच जाता है वर्तमान कार्यपुस्तिका का।
और पढ़ें: एक्सेल वीबीए के साथ दृश्यमान पंक्तियों को ऑटोफ़िल्टर और कॉपी कैसे करें
निष्कर्ष
निष्कर्ष निकालने के लिए, इस लेख ने आपको 4 आसान और त्वरित तरीके बताए हैं कि कैसे यह जांचें कि ऑटोफ़िल्टर चालू है या नहीं एक्सेल में VBA मैक्रो . के साथ . मुझे उम्मीद है कि यह लेख आपके लिए बहुत फायदेमंद रहा होगा। विषय के संबंध में कोई भी प्रश्न पूछने के लिए स्वतंत्र महसूस करें।
संबंधित लेख
- [फिक्स]:श्रेणी श्रेणी की स्वतः फ़िल्टर विधि विफल (5 समाधान)
- VBA ऑटोफिल्टर:सबसे छोटे से सबसे बड़े तक छाँटें (3 तरीके)