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

VBA का उपयोग करके एक्सेल ड्रॉप-डाउन सूचियों से डुप्लिकेट प्रविष्टियां हटाएं - एक पूर्ण मार्गदर्शिका

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

एक्सेल VBA के साथ ड्रॉप डाउन सूची में अद्वितीय मान (त्वरित दृश्य)

Sub Drop_Down_List_Unique_Values_At_Least_Once() List_Location = "B3" Data = Range(List_Location).Validation.Formula1 Data = Split(Data, ",") Range(List_Location).Validation.Delete Unique_Data = "" Count = 0 For i = LBound(Data) To UBound(Data) Unique_Values = Split(Unique_Data, ",") For j = LBound(Unique_Values) To UBound(Unique_Values) If Data(i) = Unique_Values(j) Then Count = 1 Exit For End If Next j If Count = 0 Then If Unique_Data = "" Then Unique_Data = Unique_Data + Data(i) Else Unique_Data = Unique_Data + "," + Data(i) End If End If Count = 0 Next i Range(List_Location).Validation.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, _ Formula1:=Unique_Data End Sub

VBA का उपयोग करके एक्सेल ड्रॉप-डाउन सूचियों से डुप्लिकेट प्रविष्टियां हटाएं - एक पूर्ण मार्गदर्शिका

एक्सेल VBA के साथ ड्रॉप डाउन सूची में अद्वितीय मान कैसे रखें

यहां हमारे पास एक एक्सेल वर्कशीट के सेल B3 में एक ड्रॉप-डाउन सूची है जिसमें कुछ देशों के नाम हैं।

VBA का उपयोग करके एक्सेल ड्रॉप-डाउन सूचियों से डुप्लिकेट प्रविष्टियां हटाएं - एक पूर्ण मार्गदर्शिका

लेकिन जैसा कि आप देख सकते हैं, सूची में कुछ नाम दोहराए गए हैं। जैसे जर्मनी तीन बार दोहराया गया है, और इटली दो बार दोहराया गया है।

आज हमारा उद्देश्य ड्रॉप-डाउन सूची से डुप्लिकेट मान हटाना और केवल अद्वितीय मान रखना है।

1. कम से कम एक बार दिखाई देने वाले अद्वितीय मानों को ड्रॉप डाउन सूची में रखने के लिए मैक्रो विकसित करना

सबसे पहले, हम एक मैक्रो विकसित करेंगे जो उन अद्वितीय मानों को रखेगा जो ड्रॉप-डाउन सूची में कम से कम एक बार दिखाई देते हैं।

उदाहरण के लिए, उपरोक्त सूची के लिए, मैक्रो का आउटपुट जर्मनी, इटली, फ्रांस, इंग्लैंड होगा।

इस उद्देश्य के लिए VBA कोड होगा:

⧭ VBA कोड:

Sub Drop_Down_List_Unique_Values_At_Least_Once() List_Location = "B3" Data = Range(List_Location).Validation.Formula1 Data = Split(Data, ",") Range(List_Location).Validation.Delete Unique_Data = "" Count = 0 For i = LBound(Data) To UBound(Data) Unique_Values = Split(Unique_Data, ",") For j = LBound(Unique_Values) To UBound(Unique_Values) If Data(i) = Unique_Values(j) Then Count = 1 Exit For End If Next j If Count = 0 Then If Unique_Data = "" Then Unique_Data = Unique_Data + Data(i) Else Unique_Data = Unique_Data + "," + Data(i) End If End If Count = 0 Next i Range(List_Location).Validation.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, _ Formula1:=Unique_Data End Sub

VBA का उपयोग करके एक्सेल ड्रॉप-डाउन सूचियों से डुप्लिकेट प्रविष्टियां हटाएं - एक पूर्ण मार्गदर्शिका

⧭ आउटपुट:

कोड चलाएं। यह सक्रिय वर्कशीट के सेल B3 की ड्रॉप-डाउन सूची से डुप्लिकेट मान हटा देगा और केवल उन मानों को रखेगा जो कम से कम एक बार दिखाई देते हैं।

VBA का उपयोग करके एक्सेल ड्रॉप-डाउन सूचियों से डुप्लिकेट प्रविष्टियां हटाएं - एक पूर्ण मार्गदर्शिका

⧭ नोट्स:

कोड चलाने से पहले ड्रॉप-डाउन सूची वाली वर्कशीट को सक्रिय करना न भूलें। साथ ही, कोड चलाने से पहले अपनी आवश्यकता के अनुसार सूची स्थान के सेल संदर्भ को बदलें।

और पढ़ें: एक्सेल में अद्वितीय मानों के साथ ड्रॉप डाउन सूची कैसे बनाएं (4 विधियां)

2. ठीक एक बार दिखाई देने वाले अद्वितीय मानों को ड्रॉप डाउन सूची में रखने के लिए मैक्रो बनाना

इस बार, हम एक मैक्रो विकसित करेंगे जो उन अद्वितीय मानों को रखेगा जो ड्रॉप-डाउन सूची में ठीक एक बार दिखाई देते हैं।

उदाहरण के लिए, उपरोक्त सूची के लिए, मैक्रो का आउटपुट फ्रांस, इंग्लैंड होगा।

इस उद्देश्य के लिए VBA कोड होगा:

⧭ VBA कोड:

Sub Drop_Down_List_Unique_Values_Exactly_Once() List_Location = "B3" Data = Range(List_Location).Validation.Formula1 Data = Split(Data, ",") Unique_Data = "" Range(List_Location).Validation.Delete Count = 0 For i = LBound(Data) To UBound(Data) For j = LBound(Data) To UBound(Data) If j <> i And Data(i) = Data(j) Then Count = 1 Exit For End If Next j If Count = 0 Then If Unique_Data = "" Then Unique_Data = Unique_Data + Data(i) Else Unique_Data = Unique_Data + "," + Data(i) End If End If Count = 0 Next i Range(List_Location).Validation.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, _ Formula1:=Unique_Data End Sub

VBA का उपयोग करके एक्सेल ड्रॉप-डाउन सूचियों से डुप्लिकेट प्रविष्टियां हटाएं - एक पूर्ण मार्गदर्शिका

⧭ आउटपुट:

कोड चलाएं। यह सक्रिय वर्कशीट के सेल B3 की ड्रॉप-डाउन सूची से उन मानों को हटा देगा जिनके डुप्लिकेट हैं और केवल उन मानों को रखेगा जो ठीक एक बार दिखाई देते हैं।

VBA का उपयोग करके एक्सेल ड्रॉप-डाउन सूचियों से डुप्लिकेट प्रविष्टियां हटाएं - एक पूर्ण मार्गदर्शिका

⧭ नोट्स:

फिर से कोड चलाने से पहले ड्रॉप-डाउन सूची वाली वर्कशीट को सक्रिय करना न भूलें। साथ ही, कोड चलाने से पहले अपनी आवश्यकता के अनुसार सूची स्थान के सेल संदर्भ को बदलें।

संबंधित सामग्री: एक्सेल में ड्रॉप डाउन सूची से मल्टीपल चयन कैसे करें (3 तरीके)

समान पठन:

  • चयन के आधार पर डेटा निकालने के लिए ड्रॉप डाउन फिल्टर बनाना एक्सेल में
  • रंग के साथ एक्सेल ड्रॉप डाउन सूची कैसे बनाएं (2 तरीके)
  • एक्सेल ड्रॉप डाउन सूची काम नहीं कर रही (8 मुद्दे और समाधान)
  • एक्सेल में ऑटो अपडेट ड्रॉप डाउन सूची (3 तरीके)
  • VBA से एक्सेल में ड्रॉप डाउन सूची से मान चुनें (2 विधियां)

3. ड्रॉप डाउन सूची में अद्वितीय मान डालने के लिए यूजरफॉर्म विकसित करना

अंत में, हम VBA के साथ ड्रॉप-डाउन सूची से डुप्लिकेट मान हटाने और केवल अद्वितीय मान रखने के लिए एक यूजरफॉर्म विकसित करेंगे।

⧪ चरण 1: यूजरफॉर्म खोलना

VBA एडिटर में इन्सर्ट > यूजरफॉर्म विकल्प पर जाएं एक नया यूजरफॉर्म खोलने के लिए। एक नया यूजरफॉर्म जिसे UserForm1 कहा जाता है, खुल जाएगा।

VBA का उपयोग करके एक्सेल ड्रॉप-डाउन सूचियों से डुप्लिकेट प्रविष्टियां हटाएं - एक पूर्ण मार्गदर्शिका

⧪ चरण 2: यूजरफॉर्म पर टूल खींचना

यूजरफॉर्म के बगल में, आपको टूलबॉक्स मिलेगा। टूलबॉक्स पर अपना कर्सर ले जाएं और 3 लेबल और 2 लिस्टबॉक्स (लेबल1 और लेबल3 के नीचे) और 1 टेक्स्टबॉक्स (लेबल2 के नीचे) को चित्र में दिखाए गए तरीके से खींचें।

अंत में, नीचे दाएं कोने में एक कमांडबटन खींचें।

VBA का उपयोग करके एक्सेल ड्रॉप-डाउन सूचियों से डुप्लिकेट प्रविष्टियां हटाएं - एक पूर्ण मार्गदर्शिका

⧪ चरण 3: लिस्टबॉक्स1 के लिए कोड लिखना

लिस्टबॉक्स1 पर डबल क्लिक करें। एक प्राइवेट सबप्रोसीजर जिसे ListBox1_Click कहा जाता है, खुल जाएगा। वहां निम्नलिखित कोड डालें।

Private Sub ListBox1_Click() For i = 0 To UserForm1.ListBox1.ListCount - 1 If UserForm1.ListBox1.Selected(i) = True Then Worksheets(UserForm1.ListBox1.List(i)).Activate Exit For End If Next i End Sub

VBA का उपयोग करके एक्सेल ड्रॉप-डाउन सूचियों से डुप्लिकेट प्रविष्टियां हटाएं - एक पूर्ण मार्गदर्शिका

⧪ चरण 4: टेक्स्टबॉक्स1 के लिए कोड लिखना

फिर टेक्स्टबॉक्स1 पर डबल क्लिक करें। एक और प्राइवेट सबप्रोसीजर जिसे TextBox1_Change कहा जाता है, खुल जाएगा। वहां निम्नलिखित कोड डालें।

Private Sub TextBox1_Change() On Error GoTo TB1: ActiveSheet.Range(UserForm1.TextBox1.Text).Select Exit Sub TB1: x = 21 End Sub

VBA का उपयोग करके एक्सेल ड्रॉप-डाउन सूचियों से डुप्लिकेट प्रविष्टियां हटाएं - एक पूर्ण मार्गदर्शिका

⧪ चरण 6: कमांडबटन1 के लिए कोड लिखना

अंत में, कमांडबटन1 पर डबल क्लिक करें। एक प्राइवेट सबप्रोसीजर जिसे CommandButton1_Click कहा जाता है, खुल जाएगा। वहां निम्नलिखित कोड डालें।

Private Sub CommandButton1_Click() List_Location = UserForm1.TextBox1.Text Data = Range(List_Location).Validation.Formula1 Data = Split(Data, ",") Range(List_Location).Validation.Delete Unique_Data = "" Count = 0 If UserForm1.ListBox2.Selected(0) = True Then For i = LBound(Data) To UBound(Data) Unique_Values = Split(Unique_Data, ",") For j = LBound(Unique_Values) To UBound(Unique_Values) If Data(i) = Unique_Values(j) Then Count = 1 Exit For End If Next j If Count = 0 Then If Unique_Data = "" Then Unique_Data = Unique_Data + Data(i) Else Unique_Data = Unique_Data + "," + Data(i) End If End If Count = 0 Next i ElseIf UserForm1.ListBox2.Selected(1) = True Then For i = LBound(Data) To UBound(Data) For j = LBound(Data) To UBound(Data) If j <> i And Data(i) = Data(j) Then Count = 1 Exit For End If Next j If Count = 0 Then If Unique_Data = "" Then Unique_Data = Unique_Data + Data(i) Else Unique_Data = Unique_Data + "," + Data(i) End If End If Count = 0 Next i Else MsgBox "Select Either At Least Once or Exactly Once.", vbExclamation End If Range(List_Location).Validation.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, _ Formula1:=Unique_Data End Sub

VBA का उपयोग करके एक्सेल ड्रॉप-डाउन सूचियों से डुप्लिकेट प्रविष्टियां हटाएं - एक पूर्ण मार्गदर्शिका

⧪ चरण 7: यूजरफॉर्म चलाने के लिए कोड लिखना

VBA टूलबार से एक नया मॉड्यूल डालें और वहां निम्नलिखित कोड डालें।

Sub Run_UserForm() UserForm1.Caption = "Keep Unique Values in Drop-Down List" UserForm1.Label1.Caption = "Worksheet: " UserForm1.Label2.Caption = "List Location: " UserForm1.Label3.Caption = "Keep Unique Values that Appear: " UserForm1.ListBox1.BorderStyle = fmBorderStyleSingle UserForm1.ListBox1.ListStyle = fmListStyleOption For i = 1 To Sheets.Count UserForm1.ListBox1.AddItem Sheets(i).Name Next i For i = 0 To UserForm1.ListBox1.ListCount - 1 If UserForm1.ListBox1.List(i) = ActiveSheet.Name Then UserForm1.ListBox1.Selected(i) = True Exit For End If Next i UserForm1.ListBox2.BorderStyle = fmBorderStyleSingle UserForm1.ListBox2.ListStyle = fmListStyleOption UserForm1.ListBox2.AddItem "At Least Once" UserForm1.ListBox2.AddItem "Exactly Once" UserForm1.CommandButton1.Caption = "OK" Load UserForm1 UserForm1.Show End Sub

VBA का उपयोग करके एक्सेल ड्रॉप-डाउन सूचियों से डुप्लिकेट प्रविष्टियां हटाएं - एक पूर्ण मार्गदर्शिका

⧪ चरण 8: यूजरफॉर्म चलाना (अंतिम आउटपुट)

आपका यूजरफॉर्म अब उपयोग के लिए तैयार है। मैक्रो जिसे Run_UserForm कहा जाता है, चलाएं।

यूजरफॉर्म वर्कशीट में लोड हो जाएगा।

VBA का उपयोग करके एक्सेल ड्रॉप-डाउन सूचियों से डुप्लिकेट प्रविष्टियां हटाएं - एक पूर्ण मार्गदर्शिका

उस वर्कशीट का चयन करें जिस पर ड्रॉप-डाउन सूची है। यहां यह Sheet3 है।

फिर वर्कशीट पर सूची के स्थान का सेल संदर्भ दर्ज करें। यहां यह B3 है।

अंत में, या तो कम से कम एक बार या ठीक एक बार चुनें। यहां मैंने कम से कम एक बार चुना है।

तो मेरा यूजरफॉर्म इस तरह दिखता है:

VBA का उपयोग करके एक्सेल ड्रॉप-डाउन सूचियों से डुप्लिकेट प्रविष्टियां हटाएं - एक पूर्ण मार्गदर्शिका

फिर ओके पर क्लिक करें। आपको अपने चुने हुए मानदंड के अनुसार इनपुट स्थान की ड्रॉप-डाउन सूची से डुप्लिकेट मान हटे हुए मिलेंगे।

VBA का उपयोग करके एक्सेल ड्रॉप-डाउन सूचियों से डुप्लिकेट प्रविष्टियां हटाएं - एक पूर्ण मार्गदर्शिका

और पढ़ें: फॉर्मूला के आधार पर एक्सेल में ड्रॉप-डाउन सूची कैसे बनाएं (4 तरीके)

याद रखने योग्य बातें

  • इस लेख में, मैंने केवल ड्रॉप-डाउन सूची से डुप्लिकेट मान हटाने पर ध्यान केंद्रित किया है। यदि आप ड्रॉप-डाउन सूची बनाना सीखना चाहते हैं, या डुप्लिकेट सूची में मानों को सॉर्ट करना सीखना चाहते हैं, तो आप यह लेख पढ़ सकते हैं।

निष्कर्ष

तो, ये एक्सेल VBA की मदद से ड्रॉप-डाउन सूची से डुप्लिकेट मान हटाने और केवल अद्वितीय मान रखने के तरीके हैं। क्या आपके कोई प्रश्न हैं? बेझिझक हमसे पूछें। और अधिक पोस्ट और अपडेट के लिए हमारी साइट ExcelDemy पर जाना न भूलें।

संबंधित लेख

  • सेल मान को ड्रॉप डाउन सूची से लिंक कैसे करें एक्सेल में (5 तरीके)
  • एक्सेल में सशर्त ड्रॉप डाउन सूची (बनाएं, सॉर्ट करें और उपयोग करें)
  • एक्सेल में डायनामिक निर्भर ड्रॉप डाउन सूची कैसे बनाएं
  • एक्सेल में ड्रॉप-डाउन सूची बनाने के लिए IF स्टेटमेंट का उपयोग कैसे करें
  • एक्सेल में ड्रॉप डाउन सूची के साथ VLOOKUP
  1. डेटा सत्यापन ड्रॉप-डाउन सूची के साथ एक्सेल डेटा फ़िल्टर करें - दो व्यावहारिक उदाहरण डेटा सत्यापन ड्रॉप-डाउन सूची के साथ एक्सेल डेटा फ़िल्टर करें - दो व्यावहारिक उदाहरण

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

  1. एक्सेल में मल्टी-वर्ड डिपेंडेंट ड्रॉप-डाउन सूचियाँ बनाएँ – चरण-दर-चरण गाइड एक्सेल में मल्टी-वर्ड डिपेंडेंट ड्रॉप-डाउन सूचियाँ बनाएँ – चरण-दर-चरण गाइड

    Microsoft Excel में काम करते समय, कभी-कभी हमें डेटा एंट्री फॉर्म या Excel डैशबोर्ड बनाने की आवश्यकता होती है। डेटा एंट्री फॉर्म विकसित करते समय, ड्रॉप-डाउन सूची Excel में एक बहुत उपयोगी सुविधा है। यह एक सेल में विकल्पों की सूची को ड्रॉप-डाउन मेनू के रूप में प्रदर्शित करती है, जिससे उपयोगकर्ता चुनाव

  1. ड्रॉप-डाउन सूची के साथ एक्सेल डेटा एंट्री फॉर्म बनाएं – दो आसान तरीके ड्रॉप-डाउन सूची के साथ एक्सेल डेटा एंट्री फॉर्म बनाएं – दो आसान तरीके

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