Computer >> कंप्यूटर >  >> सॉफ्टवेयर >> Office

एक्सेल VBA यह जांचने के लिए कि ऑटोफिल्टर चालू है या नहीं (4 आसान तरीके)

एक्सेल का स्वतः फ़िल्टर कुछ शर्तों के आधार पर डेटा निकालने के लिए सुविधा वास्तव में कुशल है। लेकिन कभी-कभी तकनीकी समस्याओं के कारण, स्वतः फ़िल्टर छिपा हो जाता है या भले ही कोई फ़िल्टर न हो, एक्सेल दिखाता है कि वहाँ है। उस स्थिति में, यह समझना काफी असंभव है कि क्या स्वतः फ़िल्टर एक्सेल वर्कशीट के लिए सक्षम है या नहीं। VBA लागू किया जा रहा है एक्सेल में किसी भी ऑपरेशन को चलाने के लिए सबसे प्रभावी, तेज और सबसे सुरक्षित तरीका है। इस लेख में, हम आपको यह जांचने के लिए कि ऑटोफ़िल्टर चालू है या नहीं के 4 आसान और त्वरित तरीके दिखाएंगे। एक्सेल में VBA मैक्रो . के साथ ।

कार्यपुस्तिका डाउनलोड करें

आप यहां से निःशुल्क अभ्यास एक्सेल वर्कबुक डाउनलोड कर सकते हैं।

VBA के साथ 4 त्वरित तरीके यह जांचने के लिए कि Excel में AutoFilter चालू है या नहीं

इस अनुभाग के बाद, आप सीखेंगे कि कैसे जांचें कि AutoFilter चालू है या नहीं एक्सेल में VBA . के साथ 4 अलग-अलग तरीकों से।

एक्सेल VBA यह जांचने के लिए कि ऑटोफिल्टर चालू है या नहीं (4 आसान तरीके)

ऊपर उदाहरण डेटासेट . है कि यह लेख प्रक्रियाओं का वर्णन करने के लिए अनुसरण करेगा।

1. एक्सेल वर्कशीट में ऑटोफिल्टर चालू या बंद है या नहीं यह जांचने के लिए वीबीए एम्बेड करें

इस अनुभाग में, आप सीखेंगे कि कैसे जांचें कि एक्सेल वर्कशीट के लिए ऑटोफिल्टर चालू है या नहीं VBA . के साथ . निष्पादित करने के चरण जो नीचे दिए गए हैं।

चरण:

  • शुरुआत में, Alt + F11 दबाएं अपने कीबोर्ड पर या टैब पर जाएं डेवलपर -> विजुअल बेसिक विजुअल बेसिक संपादक खोलने के लिए ।

एक्सेल VBA यह जांचने के लिए कि ऑटोफिल्टर चालू है या नहीं (4 आसान तरीके)

  • अगला, पॉप-अप कोड विंडो में, मेनू बार से, सम्मिलित करें -> मॉड्यूल क्लिक करें ।

एक्सेल VBA यह जांचने के लिए कि ऑटोफिल्टर चालू है या नहीं (4 आसान तरीके)

  • फिर, प्रतिलिपि करें निम्नलिखित कोड और चिपकाएं इसे कोड विंडो में।
Sub AutoFilterCheck()
If ActiveSheet.AutoFilterMode = True Then
MsgBox "Auto Filter is turned on"
Else
MsgBox "Auto Filter is turned off"
End If
End Sub

आपका कोड अब चलने के लिए तैयार है।

एक्सेल VBA यह जांचने के लिए कि ऑटोफिल्टर चालू है या नहीं (4 आसान तरीके)

  • अब, F5 दबाएं अपने कीबोर्ड पर या मेनू बार से चलाएं -> उप/उपयोगकर्ता प्रपत्र चलाएं . चुनें . आप बस छोटा रन आइकन . पर भी क्लिक कर सकते हैं उप-मेनू बार में मैक्रो चलाने के लिए।

एक्सेल VBA यह जांचने के लिए कि ऑटोफिल्टर चालू है या नहीं (4 आसान तरीके)

सफल कोड निष्पादन के बाद, परिणाम देखने के लिए निम्न छवि देखें।

एक्सेल VBA यह जांचने के लिए कि ऑटोफिल्टर चालू है या नहीं (4 आसान तरीके)

अब, ऊपर की छवि को देखें। भले ही डेटासेट में कोई फ़िल्टर तीर न हो, एक्सेल 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 यह जांचने के लिए कि ऑटोफिल्टर चालू है या नहीं (4 आसान तरीके)

  • उसके बाद, भागो मैक्रो जैसा कि हमने आपको उपरोक्त अनुभाग में दिखाया था। परिणाम नीचे दी गई छवि में दिखाया गया है।

एक्सेल VBA यह जांचने के लिए कि ऑटोफिल्टर चालू है या नहीं (4 आसान तरीके)

जैसा कि आप ऊपर की छवि में देख सकते हैं, तत्काल विंडो . में आपको सक्षम ऑटोफ़िल्टर की कुल संख्या . मिल जाएगी आपकी वर्कशीट में।

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

आपका कोड अब चलने के लिए तैयार है।

एक्सेल VBA यह जांचने के लिए कि ऑटोफिल्टर चालू है या नहीं (4 आसान तरीके)

  • बाद में, चलाएं मैक्रो और आउटपुट देखने के लिए निम्न छवि को देखें।

एक्सेल VBA यह जांचने के लिए कि ऑटोफिल्टर चालू है या नहीं (4 आसान तरीके)

अब, ऊपर की छवि पर विचार करें। भले ही आप देख सकते हैं कि स्तंभ 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

आपका कोड अब चलने के लिए तैयार है।

एक्सेल VBA यह जांचने के लिए कि ऑटोफिल्टर चालू है या नहीं (4 आसान तरीके)

  • अगला, चलाएं मैक्रो। अब, परिणाम देखने के लिए निम्न चित्र को देखें।

एक्सेल VBA यह जांचने के लिए कि ऑटोफिल्टर चालू है या नहीं (4 आसान तरीके)

जैसा कि आप ऊपर की छवि में देख सकते हैं, हमारी कार्यपुस्तिका में "डेटासेट . नामक एक कार्यपत्रक है " एक्सेल का 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 तरीके)

  1. Excel में स्केल कैसे बनाएं (2 आसान तरीके)

    आरेखित करने के तरीके जानने के तरीके खोज रहे हैं पैमाने . तक एक्सेल में? हम आरेखित कर सकते हैं किसी भी पैमाने . में हम एक्सेल में चाहते हैं, पंक्ति और कॉलम आकार को समायोजित करना। यहां, आपको 2 . मिलेगा आकर्षित करने के तरीके . के तरीके एक्सेल में। एक्सेल में स्केल बनाने के 2 तरीके इस लेख में, हम

  1. Excel में पदानुक्रम कैसे बनाएं (3 आसान तरीके)

    एक्सेल . में , पदानुक्रम शब्द के दो अलग-अलग अर्थ हैं। पहली और सरल परिभाषा एक विशेष प्रकार के चार्ट को संदर्भित करती है जो एक पदानुक्रमित संरचना की कल्पना करने में सहायता करती है, जैसे कि एक संगठनात्मक चार्ट। पावर पिवट दूसरी ओर, पदानुक्रम, आपको तालिका में नेस्टेड स्तंभों की सूची के माध्यम से जल्दी

  1. Excel में प्रश्नावली कैसे बनाएं (2 आसान तरीके)

    इस लेख में, हम सीखेंगेएक्सेल में एक प्रश्नावली बनाना . एक प्रश्नावली प्रश्नों का एक समूह या विकल्पों के साथ विशिष्ट आइटम है। इसका उपयोग प्रतिवादी से जानकारी एकत्र करने के लिए किया जाता है। एक्सेल में, उपयोगकर्ता कुछ आसान चरणों का पालन करके एक प्रश्नावली बना सकते हैं। आज, हम 2 . प्रदर्शित करेंगे आसा