Zum Inhalt springen

Löschen von doppelten Einträgen in Combobox


Empfohlene Beiträge

Geschrieben

Ich habe ein Array mit mehreren Namen geladen. Nun habe ich aber das Problem dass einige Name mehrmals auftauchen. Wie kann ich nun eine Abfangroutine schreiben damit, wenn der Name doppelt oder öfter auftritt gelöscht wird??

Geschrieben

Also

wenn stört es denn erheblich was ich hier für Probleme vorbringe?? Würde ich Fragen stellen wie: Was soll ich heute anziehn? Alles klar seh ich ein. Aber: Sinn und Zwecks eines Forums is die gemeinsame Lösung von Problemen, odr nicht? Und andere Leute lesen die Beiträge mit den Lösungen weil sie ähnliche Probleme haben und ihnen hier vielleicht geholfen werden kann, wenn auch nicht dirket. Was SQL angeht, kein Plan. Ich bastel hier mit VBA und mehr nicht, trotzdem Danke

Geschrieben
Sinn und Zwecks eines Forums is die gemeinsame Lösung von Problemen, odr nicht?
Es ist dir vielleicht nicht klar, aber dein "Problem" ist eigentlich ziemlich trivial. Einen passenden Algorithmus kannst du sehr leicht aus dem echten Leben entnehmen. Angenommen, du sammelst irgendwelche Sammelkarten, und du willst keine doppelten. Jetzt kaufst du ein neues Paket. Wie stellst du sicher, dass du die doppelten aussortierst, bevor du sie in deine Sammelkiste packst?

Du vergleichst jede Karte in deiner Sammelkiste mit der ersten Karte aus dem Paket. Wenn du dabei keine Karte findest, die der neuen gleicht, kommt die neue in die Kiste. Ansonsten nicht. Dann machst du das gleiche mit der nächsten Karte im Paket.

Jetzt ersetzt du "Paket" durch "Array", "Karte" durch "Name" und "Sammelkiste" durch "Combobox". Fertig ;)

Geschrieben

Das nanne ich doch mal ne ordentliche Lösung, und schön plastzisch dargestellt. Der Weg denn du beschrieben hast ist mir klar. Auch dass ich das am Besten mit Schleifen hinbekomme, aber: Irgendwo bleibt es immer hängen und ich kriege es einfach nicht abgefangen. Ist mein Problem zu trivial, lest es euch nur durch und denkt, das ist mir zu trivial. Dann braucht ihr nicht antwoorten und alles ist im Grünen Bereich.

So weit bin ich, nun fehlt nur noch das Abfangen

Private Sub UserForm_Activate()

i = 1

x = 1

Do

kuenstler(i) = Sheets("Tabelle1").Cells(i, 1)

album(i) = Sheets("Tabelle1").Cells(i, 2)

ComboBox1.AddItem kuenstler(i)

i = i + 1

Loop Until Sheets("Tabelle1").Cells(i, 1) = ""

TextBox2.Text = Str(i)

ComboBox1.ListIndex = 0

End Sub

Geschrieben
Irgendwo bleibt es immer hängen und ich kriege es einfach nicht abgefangen.

dann zeig doch mal das coding dass du schon hast und dann suchen wir den fehler... hat auf jedenfall nen besseres lerneffekt als wenn hier jemand ne C&P lösung für dich hinstellt... :)

edit: guuuuut :D

edit2: also, jetzt machst du vor dem neuen eintrag in das array ein loop über das array mit dem neuen wert... wenns den wert schon gibt setz meinetwegen ne hilfsvariable auf 1, die dir dann anzeigt dass der artist nicht nochmal hinzugefügt werden muss...

klaro? :)

Geschrieben

Bin jetzt hier:

Private Sub UserForm_Activate()

i = 1

x = 1

Do

kuenstler(i) = Sheets("Tabelle1").Cells(i, 1)

album(i) = Sheets("Tabelle1").Cells(i, 2)

ComboBox1.AddItem kuenstler(i)

i = i + 1

Loop Until Sheets("Tabelle1").Cells(i, 1) = ""

maxx = i

x = i

For i = 1 To maxx

For x = (maxx - 1) To 2 Step -1

If kuenstler(i) = kuenstler(x) And i <> x Then

ComboBox1.RemoveItem kuenstler(x)

Else

End If

Next

Next

TextBox2.Text = Str(i)

ComboBox1.ListIndex = 0

End Sub

Aber so richtig klappt es nicht, bei RemoveItem bleibt er immer stehn?????!!!!

Geschrieben

check das ganze doch BEVOR du es in die box schreibst... als, du hast dein array und den wert in der tabelle, prüf den wert der tabelle gegen das arra< und mach DANN wenn noch nötig denn add... nicht erst adden und dann raussuchen...

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...