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

एक्सेल में 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 के साथ ड्रॉप डाउन सूची में अद्वितीय मान (एक पूर्ण गाइड)

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

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

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

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

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

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

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

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

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 इस उद्देश्य के लिए कोड होगा:

⧭ वीबीए कोड:

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 तरीके)

समान रीडिंग:

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

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

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

⧪ चरण 1:उपयोगकर्ता प्रपत्र खोलना

सम्मिलित करें> UserForm . पर जाएं VBA . में विकल्प एक नया UserForm open खोलने के लिए संपादक . एक नया उपयोगकर्ता प्रपत्र UserForm1 . कहा जाता है खोला जाएगा।

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

⧪ चरण 2:टूल को UserForm पर खींचना

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

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

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

⧪ चरण 3:ListBox1 के लिए कोड लिखना

ListBox1 . पर डबल क्लिक करें . एक निजी उपप्रक्रिया 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 के लिए कोड लिखना

फिर TextBox1 . पर डबल क्लिक करें . एक और निजी उपप्रक्रिया TextBox1_Change called कहा जाता है खुलेगा। वहां निम्न कोड दर्ज करें।

Private Sub TextBox1_Change()

On Error GoTo TB1:

ActiveSheet.Range(UserForm1.TextBox1.Text).Select

Exit Sub

TB1:
    x = 21

End Sub

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

⧪ चरण 6:CommandButton1 के लिए कोड लिखना

अंत में, CommandButton1 . पर डबल क्लिक करें . एक निजी उपप्रक्रिया CommandButton1_Click called कहा जाता है खुलेगा। वहां निम्न कोड दर्ज करें।

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:उपयोगकर्ता प्रपत्र चलाने के लिए कोड लिखना

एक नया मॉड्यूल Insert डालें 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:UserForm (अंतिम आउटपुट) चलाना

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

उपयोगकर्ता प्रपत्र कार्यपत्रक में लोड किया जाएगा।

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

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

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

अंत में, या तो कम से कम एक बार . चुनें या बिल्कुल एक बार। यहां मैंने कम से कम एक बार . चुना है ।

तो मेरा उपयोगकर्ता प्रपत्र ऐसा दिखता है:

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

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

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

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

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

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

निष्कर्ष

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

संबंधित लेख

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

  1. Excel Data Validation Drop Down List with Filter (2 उदाहरण)

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

  1. एक्सेल में एकाधिक शब्दों के साथ आश्रित ड्रॉप डाउन सूची कैसे बनाएं

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

  1. एक्सेल में ड्रॉप डाउन लिस्ट के साथ डेटा एंट्री फॉर्म कैसे बनाएं (2 तरीके)

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