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

VBA में महारत हासिल करें: Excel शीट्स के बीच फ़िल्टर किया गया डेटा जल्दी और सुरक्षित रूप से कॉपी करें

जब हम एकाधिक Excel शीट्स के साथ काम कर रहे होते हैं, तो कभी-कभी हमें बेहतर पठनीयता के लिए कुछ शर्तों के साथ एक स्प्रेडशीट से दूसरी में डेटा कॉपी करना पड़ता है। Excel में किसी भी ऑपरेशन को चलाने के लिए VBA लागू करना सबसे प्रभावी, सबसे तेज़ और सबसे सुरक्षित तरीका है। इस लेख में, हम आपको दिखाएंगे कि VBA मैक्रो के साथ Excel में एडवांस्ड फ़िल्टर का उपयोग करके डेटा को दूसरी शीट पर कैसे कॉपी करें।

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

आप यहां से मुफ्त अभ्यास Excel कार्यपुस्तिका डाउनलोड कर सकते हैं।

Excel में एडवांस्ड फ़िल्टर के साथ VBA का उपयोग करके डेटा को दूसरी शीट पर कॉपी करने के 3 तरीके

निम्नलिखित डेटासेट देखें। Original नामक एक Excel वर्कशीट है। इस शीट में रेंज B4 से E12 से कुछ डेटा होता है। उस रेंज में डुप्लिकेट मान भी होते हैं। रेंज G4 से H5 में मानदंड होते हैं। हम जो करना चाहते हैं वह है, हम रेंज B5:E12 से डेटा कॉपी करेंगे, जब Name कॉलम से John के Marks 80 से कम हों (मानदंड सेल G4:H5 में) और उन विशिष्ट डेटा को VBA के साथ Excel में एडवांस्ड फ़िल्टर के साथ तीन अलग-अलग तरीकों से अन्य शीट्स पर पेस्ट करेंगे।

VBA में महारत हासिल करें: Excel शीट्स के बीच फ़िल्टर किया गया डेटा जल्दी और सुरक्षित रूप से कॉपी करें

हम देखेंगे कि हार्डकोडेड मैक्रो डालकर डेटा कैसे कॉपी करें, कैसे चयन द्वारा एडवांस फ़िल्टर करें और कैसे मैक्रो रिकॉर्ड करके एक शीट से दूसरी शीट पर डेटा स्थानांतरित करें। और उपरोक्त डेटासेट उल्लिखित सभी विधियों को निष्पादित करने का उदाहरण होगा।

1. Excel में एडवांस्ड फ़िल्टर के साथ डेटा को दूसरी शीट पर कॉपी करने के लिए VBA कोड एम्बेड करें

यहां, आप VBA कोड सीखेंगे जब John's Marks 80 से कम हो तो Original शीट से केवल डेटा कॉपी करने के लिए दूसरी Target नामक शीट पर एडवांस्ड फ़िल्टर के साथ।

चरण:

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

VBA में महारत हासिल करें: Excel शीट्स के बीच फ़िल्टर किया गया डेटा जल्दी और सुरक्षित रूप से कॉपी करें

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

VBA में महारत हासिल करें: Excel शीट्स के बीच फ़िल्टर किया गया डेटा जल्दी और सुरक्षित रूप से कॉपी करें

  • फिर, निम्न कोड कॉपी करें और इसे कोड विंडो में पेस्ट करें।
Sub AdvancedFilterCode() Dim iRange As Range Dim iCriteria As Range 'set the range to filter and the criteria range Set iRange = Sheets("Original").Range("B4:E12") Set iCriteria = Sheets("Original").Range("G4:H5") 'copy the filtered data to the destination iRange.AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=iCriteria, CopyToRange:=Sheets("Target").Range("B4:E4"), Unique:=True End Sub

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

VBA में महारत हासिल करें: Excel शीट्स के बीच फ़िल्टर किया गया डेटा जल्दी और सुरक्षित रूप से कॉपी करें

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

VBA में महारत हासिल करें: Excel शीट्स के बीच फ़िल्टर किया गया डेटा जल्दी और सुरक्षित रूप से कॉपी करें

कोड निष्पादन के बाद, नीचे दी गई छवि को देखें परिणाम देखने के लिए।

VBA में महारत हासिल करें: Excel शीट्स के बीच फ़िल्टर किया गया डेटा जल्दी और सुरक्षित रूप से कॉपी करें

परिणामस्वरूप, केवल वही डेटा जहां John's Marks 80 से कम हैं, VBA के एडवांस्ड फ़िल्टर के साथ Original शीट से Target शीट में कॉपी किया जाता है।

और पढ़ें: Excel में एडवांस्ड फ़िल्टर का उपयोग करके डेटा को दूसरी शीट पर कैसे कॉपी करें

2. उपयोगकर्ता-परिभाषित चयन द्वारा डेटा फ़िल्टर करने के लिए VBA मैक्रो लागू करें

अब, आप सीखेंगे कि Original शीट से केवल डेटा कैसे फ़िल्टर करें जब John's Marks 80 से कम हों, उपयोगकर्ता-चयनित रेंज से Destination नामक दूसरी शीट पर VBA के एडवांस्ड फ़िल्टर के साथ Excel में।

चरण:

  • पहले की तरह ही, Developer टैब से Visual Basic Editor खोलें और कोड विंडो में एक Module Insert करें।
  • फिर, कोड विंडो में, निम्न कोड कॉपी करें और पेस्ट करें।
Sub AdvancedFilterBySelection() Dim iTrgt As String Dim iRange As Range Dim iCriteria As Range Dim iDestination As Range On Error Resume Next iTrgt = ActiveWindow.RangeSelection.Address Set iRange = Application.InputBox("Select Range to Filter", "Excel", iTrgt, , , , , 8) If iRange Is Nothing Then Exit Sub Set iCriteria = Application.InputBox("Select Criteria Range", "Excel", "", , , , , 8) If iCriteria Is Nothing Then Exit Sub Set iDestination = Application.InputBox("Select Destination Range", "Excel", "", , , , , 8) If iDestination Is Nothing Then Exit Sub iRange.AdvancedFilter xlFilterCopy, iCriteria, iDestination, False iDestination.Worksheet.Activate iDestination.Worksheet.Columns.AutoFit End Sub

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

VBA में महारत हासिल करें: Excel शीट्स के बीच फ़िल्टर किया गया डेटा जल्दी और सुरक्षित रूप से कॉपी करें

  • अब, मैक्रो Run करें।
  • फिर, एक पॉप-अप बॉक्स दिखाई देगा। वह रेंज चुनें जिसे आप फ़िल्टर करना चाहते हैं (हमारे मामले में, यह रेंज B4 से E12 से है)।
  • बाद में, OK दबाएं।

VBA में महारत हासिल करें: Excel शीट्स के बीच फ़िल्टर किया गया डेटा जल्दी और सुरक्षित रूप से कॉपी करें

  • अगला, एक और पॉप-अप बॉक्स दिखाई देगा। इस बार आपको वह मानदंड रेंज चुननी होगी जो आपने अपने डेटासेट में संग्रहीत की है (हमारे डेटासेट के लिए सेल G4 से H5 की मानदंड रेंज)।
  • फिर से, OK दबाएं।

VBA में महारत हासिल करें: Excel शीट्स के बीच फ़िल्टर किया गया डेटा जल्दी और सुरक्षित रूप से कॉपी करें

  • अंतिम बार, एक और पॉप-अप बॉक्स दिखाई देगा। और अब, आपको वह गंतव्य रेंज चुननी होगी जहां आप कॉपी किया गया डेटा संग्रहीत करना चाहते हैं। हमारे मामले में, यह Destination शीट में सेल B2 है।
  • फिर, OK दबाएं।

VBA में महारत हासिल करें: Excel शीट्स के बीच फ़िल्टर किया गया डेटा जल्दी और सुरक्षित रूप से कॉपी करें

परिणाम देखने के लिए नीचे दी गई छवि देखें।

VBA में महारत हासिल करें: Excel शीट्स के बीच फ़िल्टर किया गया डेटा जल्दी और सुरक्षित रूप से कॉपी करें

अंत में, केवल वही डेटा जहां John's Marks 80 से कम हैं, VBA के एडवांस्ड फ़िल्टर के साथ Original शीट से Destination शीट में कॉपी किया जाता है।

संबंधित सामग्री: Excel एडवांस्ड फ़िल्टर काम नहीं कर रहा (2 कारण और समाधान)

समान पठन

  • Excel में कैसे उपयोग करें एडवांस्ड फ़िल्टर यदि मानदंड रेंज में टेक्स्ट है
  • डायनामिक एडवांस्ड फ़िल्टर Excel (VBA और मैक्रो)
  • Excel में मानदंड रेंज के साथ एडवांस्ड फ़िल्टर (18 अनुप्रयोग)
  • Excel में एकाधिक मानदंडों के साथ एडवांस्ड फ़िल्टर (15 उपयुक्त उदाहरण)
  • Excel VBA उदाहरण: मानदंड के साथ एडवांस्ड फ़िल्टर का उपयोग करें (6 मानदंड)

3. Excel में मैक्रो रिकॉर्डिंग द्वारा डेटा को दूसरी शीट पर कॉपी करने के लिए VBA मैक्रो लागू करें

इस खंड में, आप Original शीट से केवल डेटा निकालने की उसी समस्या का समाधान जानेंगे जब John's Marks 80 से कम हों, Filtered नामक दूसरी शीट पर VBA की मैक्रो रिकॉर्डिंग द्वारा।

चरण:

  • सबसे पहले, एक नई वर्कशीट खोलें (हमारे मामले में, यह शीट Filtered है)।
  • उस शीट में, केवल मूल डेटासेट की हेडर पंक्ति संग्रहीत करें।

VBA में महारत हासिल करें: Excel शीट्स के बीच फ़िल्टर किया गया डेटा जल्दी और सुरक्षित रूप से कॉपी करें

  • अगला, Original शीट पर जाएं। आप शीट के निचले बाएं हिस्से में एक छोटा मैक्रो चिह्न देखेंगे। मैक्रो रिकॉर्डिंग शुरू करने के लिए चिह्न पर क्लिक करें।

VBA में महारत हासिल करें: Excel शीट्स के बीच फ़िल्टर किया गया डेटा जल्दी और सुरक्षित रूप से कॉपी करें

  • फिर, एक Record Macro पॉप-अप विंडो दिखाई देगी। एक Macro name प्रदान करें जो आप चाहते हैं। हम AdvancedFilter को अपने Macro name के रूप में परिभाषित करते हैं।
  • अगला, चुनें कि आप मैक्रो कहां स्टोर करना चाहते हैं। हम मौजूदा कार्यपुस्तिका में मैक्रो स्टोर करना चाहते थे, इसलिए हमने This Workbook चुना।
  • बाद में, OK पर क्लिक करें।

VBA में महारत हासिल करें: Excel शीट्स के बीच फ़िल्टर किया गया डेटा जल्दी और सुरक्षित रूप से कॉपी करें

  • अब, Original शीट पर वापस जाएं और आप देखेंगे कि आपके द्वारा अभी शुरू किया गया मैक्रो रिकॉर्डिंग शुरू हो गई है।

VBA में महारत हासिल करें: Excel शीट्स के बीच फ़िल्टर किया गया डेटा जल्दी और सुरक्षित रूप से कॉपी करें

  • फिर, आपको उस शीट पर जाना होगा जो कॉपी किए गए डेटा को धारण करेगी (उदाहरण: Filtered शीट)।
  • उस शीट में एक सक्रिय सेल रखें और Data -> Advanced पर जाएं।

VBA में महारत हासिल करें: Excel शीट्स के बीच फ़िल्टर किया गया डेटा जल्दी और सुरक्षित रूप से कॉपी करें

  • अगला, एक एडवांस्ड फ़िल्टर पॉप-अप बॉक्स दिखाई देगा।
  • पहले, Action से Copy to another location विकल्प को चेक करें
  • अब, List range के बगल में टेक्स्ट बॉक्स में, Original शीट पर जाएं और फ़िल्टर करने के लिए रेंज चुनें (हमारे डेटासेट के लिए, रेंज B4:E12 है)।

VBA में महारत हासिल करें: Excel शीट्स के बीच फ़िल्टर किया गया डेटा जल्दी और सुरक्षित रूप से कॉपी करें

  • फिर, Criteria range के बगल में टेक्स्ट बॉक्स में, मानदंड रेंज चुनें (John's Marks 80 से कम है) जो Original शीट में संग्रहीत है (हमारे डेटासेट के लिए, रेंज G4:H5 है)।

VBA में महारत हासिल करें: Excel शीट्स के बीच फ़िल्टर किया गया डेटा जल्दी और सुरक्षित रूप से कॉपी करें

  • अब, Copy to के बगल में टेक्स्ट बॉक्स में, Filtered शीट पर जाएं, वह शीट जहां आप कॉपी किया गया डेटा संग्रहीत करना चाहते हैं और हेडर रेंज चुनें (हमारे डेटासेट के लिए, रेंज B4:E4 है)।
  • अंत में, OK पर क्लिक करें।

VBA में महारत हासिल करें: Excel शीट्स के बीच फ़िल्टर किया गया डेटा जल्दी और सुरक्षित रूप से कॉपी करें

इस पूरी प्रक्रिया द्वारा उत्पादित परिणाम देखने के लिए, नीचे दी गई छवि देखें। केवल वही डेटा जहां John's Marks 80 से कम हैं, मैक्रो रिकॉर्डिंग के साथ Original शीट से Filtered शीट में कॉपी किया जाता है।

VBA में महारत हासिल करें: Excel शीट्स के बीच फ़िल्टर किया गया डेटा जल्दी और सुरक्षित रूप से कॉपी करें

  • अब, शीट के निचले बाएं हिस्से में मैक्रो चिह्न पर क्लिक करें मैक्रो रिकॉर्डिंग रोकने के लिए। अब आपके पास एक रिकॉर्ड किया गया मैक्रो है जो हर बार जब आप इसे चलाएंगे तो उपरोक्त वर्णित प्रक्रिया को निष्पादित करेगा।

लेकिन इस विधि का एक दोष है। यदि आप Original शीट में नया डेटा जोड़ते हैं, तो Filtered शीट अपडेट नहीं होगी भले ही डेटा मानदंडों को पूरा करता हो।

हम चाहते हैं कि हमारा नया Filtered शीट कोड निष्पादित करके स्वचालित रूप से अपडेट हो जब हम Original शीट में नया डेटा जोड़ें। ऐसा करने के लिए, हमें कोड को थोड़ा संशोधित करने की आवश्यकता है।

हम जो चाहते हैं उसे पाने के लिए सभी चरण नीचे दिखाए गए हैं।

चरण:

  • सबसे पहले, टैब से, View -> Macros -> View Macros चुनें।

VBA में महारत हासिल करें: Excel शीट्स के बीच फ़िल्टर किया गया डेटा जल्दी और सुरक्षित रूप से कॉपी करें

  • बाद में, एक Macro पॉप-अप विंडो दिखाई देगी। आपके द्वारा रिकॉर्डिंग द्वारा बनाए गए Macro name को चुनें (AdvancedFilter हमारे मामले के लिए)।
  • फिर, Edit पर क्लिक करें।

VBA में महारत हासिल करें: Excel शीट्स के बीच फ़िल्टर किया गया डेटा जल्दी और सुरक्षित रूप से कॉपी करें

  • रिकॉर्ड किए गए मैक्रो के पीछे का कोड कोड विंडो में दिखाई देगा (नीचे दी गई छवि देखें)।

VBA में महारत हासिल करें: Excel शीट्स के बीच फ़िल्टर किया गया डेटा जल्दी और सुरक्षित रूप से कॉपी करें

  • अब, नीले चिह्नित भाग को हटाएं (नीचे दी गई तस्वीर में दिखाया गया है) कोड से।

VBA में महारत हासिल करें: Excel शीट्स के बीच फ़िल्टर किया गया डेटा जल्दी और सुरक्षित रूप से कॉपी करें

  • फिर, कोड को संशोधित करें जैसा कि निम्न चित्र में दिखाया गया है।

VBA में महारत हासिल करें: Excel शीट्स के बीच फ़िल्टर किया गया डेटा जल्दी और सुरक्षित रूप से कॉपी करें

  • अब, अपडेट किया गया कोड होगा:
Sub AdvancedFilter() Sheets("Original").Range("B4").CurrentRegion.AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Sheets("Original").Range("G4:H5"), CopyToRange:=Sheets("Filtered").Range("B4:E4"), Unique:=False End Sub
  • इस कोड को सेव करें।
  • अब, Original शीट पर वापस जाएं और नया डेटा जोड़ें जो मानदंड के अंतर्गत आएगा। उदाहरण के लिए, हम John की जानकारी की एक और पंक्ति जोड़ते हैं जहां प्राप्त Marks 76 हैं जो Marks 80 से कम के मानदंड के अंतर्गत आते हैं।

VBA में महारत हासिल करें: Excel शीट्स के बीच फ़िल्टर किया गया डेटा जल्दी और सुरक्षित रूप से कॉपी करें

  • फिर, Run करें कोड और परिणाम के लिए निम्न छवि देखें।

VBA में महारत हासिल करें: Excel शीट्स के बीच फ़िल्टर किया गया डेटा जल्दी और सुरक्षित रूप से कॉपी करें

  • Filtered शीट में Marks 76 के साथ John की जानकारी की एक नई कॉपी की गई पंक्ति है जो मानदंड (Marks<80) को पूरा करती है।

और पढ़ें: Excel में केवल अद्वितीय रिकॉर्ड के लिए एडवांस्ड फ़िल्टर का उपयोग कैसे करें

निष्कर्ष

समाप्त करने के लिए, इस लेख ने आपको 3 अलग-अलग मानदंड दिखाए कि VBA मैक्रो के साथ Excel में एडवांस्ड फ़िल्टर का उपयोग करके डेटा को दूसरी शीट पर कैसे कॉपी करें। मुझे आशा है कि यह लेख आपके लिए बहुत फायदेमंद रहा होगा। विषय के संबंध में किसी भी प्रश्न को पूछने के लिए स्वतंत्र महसूस करें।

संबंधित लेख

  • Excel में खाली सेल्स को बाहर करने के लिए एडवांस्ड फ़िल्टर का उपयोग कैसे करें (3 आसान ट्रिक्स)
  • Excel VBA: एक रेंज में एकाधिक मानदंडों के साथ एडवांस्ड फ़िल्टर (5 तरीके)
  • Excel में केवल अद्वितीय रिकॉर्ड के लिए एडवांस्ड फ़िल्टर का उपयोग कैसे करें
  • Excel में किसी अन्य स्थान पर कॉपी करने के लिए एडवांस्ड फ़िल्टर लागू करें
  • Excel एडवांस्ड फ़िल्टर: "Does Not Contain" लागू करें (2 तरीके)
  • Excel में एक कॉलम में एकाधिक मानदंडों के आधार पर एडवांस्ड फ़िल्टर लागू करें

  1. डेटा सत्यापन ड्रॉप-डाउन सूची के साथ एक्सेल डेटा फ़िल्टर करें - दो व्यावहारिक उदाहरण डेटा सत्यापन ड्रॉप-डाउन सूची के साथ एक्सेल डेटा फ़िल्टर करें - दो व्यावहारिक उदाहरण

    इस लेख में, मैं चर्चा करूंगा कि आप डेटा सत्यापन ड्रॉप-डाउन सूची का उपयोग करके एक्सेल डेटा को कैसे फ़िल्टर कर सकते हैं। आमतौर पर, माइक्रोसॉफ्ट एक्सेल में, हम विशेष डेटा निकालने के लिए फ़िल्टर विकल्प का उपयोग करते हैं। हालाँकि, आप डेटा फ़िल्टर करने के लिए ड्रॉप-डाउन सूची का उपयोग कर सकते हैं। कार्य कर

  1. Excel VBA में डेटा एंट्री फॉर्म बनाएं – चरण-दर-चरण पूरी गाइड Excel VBA में डेटा एंट्री फॉर्म बनाएं – चरण-दर-चरण पूरी गाइड

    Excel में VBA के साथ काम करते समय, हम में से ज्यादातर लोगों को डेटा एंट्री फॉर्म बनाने में समस्या आती है। इस लेख में, मैं आपको दिखाऊंगा कि कैसे आप VBA का उपयोग करके Excel में बहुत आसानी और पेशेवर तरीके से डेटा एंट्री फॉर्म बना सकते हैं। Excel VBA में डेटा एंट्री फॉर्म बनाने के 3 सरल चरण यहां मेरे

  1. कुशल एक्सेल तकनीकें: शीट्स में डेटा मैप करने के 6 सिद्ध तरीके कुशल एक्सेल तकनीकें: शीट्स में डेटा मैप करने के 6 सिद्ध तरीके

    नियमित एक्सेल उपयोगकर्ताओं के बीच कई वर्कशीट्स में काम करना बहुत आम है। लेकिन उन वर्कशीट्स के बीच डेटा मैप करना बेहद समय लेने वाला काम है। इसलिए, हमें एक्सेल में दूसरी शीट से डेटा मैप करने की विधि जानने की आवश्यकता है। इसे ध्यान में रखते हुए, यहां आपके लिए एक्सेल में दूसरी शीट से डेटा मैप करने पर 6