Exklusive Combobox-Liste
Andrew
Zuallererst einmal ein riesiges Dankeschön für die Hilfestellungen, die ich bisher aus eurem Forum beziehen konnte. Ich bin nicht unbedingt ein VBA-Könner, verwende aber gerne mal Makros, um mir meine Arbeit zu erleichtern. Bisher habe ich nur vorhandene Infos anonym "geleecht" hab aber zu meinem aktuellen Problem online nix gefunden. Deswegen hoffe ich, dass ihr mir helfen könnt.
Folgendes Problem:
Ich habe eine Tabelle, in der Daten zu Etiketten für Rohstoffe gespeichert werden. jede Zeile ein Etikett. Die Spalte B führt die Chargen-Nummer. Die Spalte C den Etikettentyp. Etikettentyp bedeutet "Zur Analyse", "Freigabe" oder "Gesperrt" (es gibt noch weitere aber die sind jetzt egal). Jede Charge hat mehrere Etiketten (da mehrere Gebinde beklebt werden müssen). deswegen stehen auch in mehreren Zeilen die selbe Chargen-Nummer. Ich will in einer User-Form eine Combobox einrichten, die mir die Chargennummern der Chargen anzeigt, die noch nicht Freigegeben sind, also in Spalte C "zur Analyse" oder "gesperrt" stehen haben. Da natürlich mehrere Zeilen mit ein und der selben Chargen-Nr. belegt sind muss ich diese erst mal rausfiltern, damit die Combobox mir die Nr nur einmal anzeigt. Das realisiere ich schonmal so (alles in der Combobox_change-sub):
Do
If Left(Range("C" & x), 4) & Range("D" & x) = rohstoffcode & "zur Analyse" And last_item Range("C" & x) Then
With Me.ComboBox5
.AddItem Range("C" & x)
End With
last_item = Range("C" & x)
End If
If Left(Range("C" & x), 4) & Range("D" & x) = rohstoffcode & "Freigabe" And last_item Range("C" & x) Then
With Me.ComboBox5
.RemoveItem 1 'whatever
End With
End If
x = x + 1
Loop Until Range("A" & x) = ""
ach ja "rohstoffcode" ist im prinzip nur die ersten 4 Ziffern der Chargennr.
Die Sache mit "removeitem" funktioniert hinten und vorne nicht, da mir die Positionsnr in der List fehlt.
Also was die box soll ist mir eine Liste von Chargennr. ausgeben. Keine davon doppelt und keine, die den Status "Freigabe" hat.
Oh weh ich hab euch bestimmt verwirrt. Bitte fragt bei Unklarheiten nach. Danke schonmal im Voraus.
Gruß,
Andy