Selles artiklis loome kasutajavormis loendiboksi ja laadime selle pärast duplikaatväärtuste eemaldamist väärtustega.
Toorandmed, mille sisestame loendikasti, koosnevad nimedest. Need algandmed sisaldavad määratletud nimedes dubleerimist.
Selles näites oleme loonud kasutajavormi, mis koosneb loendiboksist. See loendiboks kuvab näidisandmetest kordumatuid nimesid. Kasutajavormi aktiveerimiseks klõpsake nuppu Esita.
See kasutajavorm tagastab kasutaja valitud nime sõnumikasti väljundina.
Loogiline seletus
Enne nimede lisamist loendiboksi oleme dubleerivate nimede eemaldamiseks kasutanud kogumisobjekti.
Topeltkirjete eemaldamiseks oleme teinud järgmised toimingud:-
-
Lisas kogumisobjektile nimesid Exceli lehe määratletud vahemikust. Kogumisobjekti ei saa me topeltväärtusi sisestada. Niisiis, kogumisobjekt esitab topeltväärtustega kohtumisel vea. Vigade käsitlemiseks oleme kasutanud veateadet „Vea jätkamine järgmisena“.
-
Pärast kogu ettevalmistamist lisage massiivi kõik kogust pärit esemed.
-
Seejärel sisestage kõik massiivi elemendid loendiboksi.
Palun järgige koodi allpool
Valik Selgesõnaline alam töötab () UserForm1.Show End Sub 'Lisa kasutajavormi alla kood var1 For i = 0 ListBox1.ListCount - 1 Kui ListBox1.Selected (i) Siis var1 = ListBox1.List (i) Exit For End If Next 'Laadige kasutajavorm alla. Unload Me 'Valitud väärtuse kuvamine MsgBox "Valisite loendiboksis järgmise nime:" & var1 End Sub Private Private UserForm_Initialize () Dim MyUniqueList Variant, i As Long' Calling UniqueItemList function 'Vahemiku määramine sisendparameetriks MyUniqueList = UniqueItemList (vahemik ("A12: A100"), tõene) koos minuga.ListBox1 'Loendiboksi sisu kustutamine .Tühjenda' Väärtuste lisamine loendiboksi jaoks i = 1 To UBound (MyUniqueList) .AddItem MyUniqueList (i) Järgmine i ' Esimese üksuse valimine .ListIndex = 0 Lõpeta lõpu alamfunktsiooniga UniqueItemList (InputRange As Range, _ HorizontalList As Boolean) As Variant Dim cl As Range, cUnique As New Collection, i As Long 'Dünaamilise massiivi deklareerimine Dim uList () As Variant 'Selle funktsiooni kuulutamine lenduvaks' tähendab, et funktsioon arvutatakse ümber iga kord, kui arvutused toimuvad mis tahes lahtris Rakendus. Lenduv tõrge Jätka järgmisel 'Üksuste lisamine kogusse' Sisestatakse ainult unikaalne üksus ' cl In InputRange If cl.Value "" Siis "Väärtuste lisamine kogusse cUnique.Add cl.Value, CStr (cl.Value) End If Next cl" Väärtuse lähtestamine funktsiooni UniqueItemList = "" Kui cUnique.Count> 0 Siis 'Massiivi suuruse muutmine ReDim uList (1 To cUnique.Count)' Väärtuste sisestamine kogumist massiivi jaoks i = 1 To cUnique.Count uList (i) = cUnique (i) Järgmine i UniqueItemList = uList 'HorizontalList väärtuse kontrollimine' Kui väärtus on tõene, siis UniqueItemList väärtuse ülevõtmine, kui see pole HorizontalList, siis UniqueItemList = _ Application.WorksheetFunction.Transpose (UniqueItemList) End If End, kui viga GoTo 0 End Function
Kui teile see blogi meeldis, jagage seda oma sõpradega Facebookis. Lisaks saate meid jälgida Twitteris ja Facebookis.
Tahaksime sinust kuulda, andke meile teada, kuidas saaksime oma tööd paremaks muuta ja teie jaoks paremaks muuta. Kirjuta meile meilisaidile