Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
1256to1260
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Exklusive Combobox-Liste

Exklusive Combobox-Liste
Andrew
Hallo Welt.
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

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Exklusive Combobox-Liste
02.04.2012 23:31:14
Josef

Hallo Andy,
wie wäre es mit einer Beispieltabelle?

« Gruß Sepp »

AW: Exklusive Combobox-Liste
03.04.2012 08:48:46
Andrew
Servas, Sepp,
na klar ich machs aber mal ein bißchen komprimiert, um nicht den Rahmen zu sprengen:
A B C D E
1 Label-Nr. Rohstoff Chargen-Nr. Etikettentyp Gebinde-Nr.
2 457-12-R0001 Brom BRMx123 zur Analyse 1
3 457-12-R0002 Brom BRMx123 zur Analyse 2
4 457-12-R0003 Brom BRMx123 zur Analyse 3
5 457-12-R0004 Salz SLZx123 zur Analyse 1
6 457-12-R0005 Salz SLZx123 zur Analyse 2
7 457-12-R0006 Brom BRMx234 zur Analyse 1
8 457-12-R0007 Brom BRMx234 zur Analyse 2
9 457-12-R0008 Brom BRMx123 Freigabe 1
10 457-12-R0009 Brom BRMx123 Freigabe 2
11 457-12-R0010 Brom BRMx123 Freigabe 3
12 457-12-R0011 Brom BRMx345 zur Analyse 1
So das wäre eine Beispieltabelle. In einer anderen Combobox wählt der Benutzer jetzt einen Rohststofftyp aus, der Freigegeben werden soll (Beispiel Brom) in der Box um die es mir jetzt geht sollen nun die Brom-Chargen aufgelistet sein, die noch keine Freigabe haben und davon jeweils nur jede Chargen-Nr. ein Mal (auch wenn mehrere Gebinde vorhanden sind), also: BRMx234 und BRMx345 NICHT aufgelistet sind BRMx123 (weil bereits freigegeben) und SLZx123 (weil anderer Rohstoff).
Hoffe das war jetzt ein bisschen konkreter und besser zu verstehen.
Grüße ,
Andy
p.s.: habe eben bei der Vorschau bemerkt, dass ich zu bleed bin hier ne gscheite Tabelle einzufügen. Hoffe es ist dennoch übersichtlich genug, um aufzuzeigen was ich will.
Anzeige
AW: Exklusive Combobox-Liste
03.04.2012 21:09:02
Josef

Hallo Andy,
so wie ich dich verstanden habe, hast du in deiner Datei ja bereits ein UserForm, warum lädst du nicht einfach deine Datei hoch? Wenn das jemand nachbaut (ich nicht), dann sieht das bestimmt nicht so aus wie dein Original.

« Gruß Sepp »

AW: Exklusive Combobox-Liste
03.04.2012 21:26:27
Andrew
Hi Sepp,
ok ich lade sie hoch. Bitte nicht auf das Chaos achten ich bin weit entfernt von Profitum. Von Interesse ist eigentlich nur die sub Combobox2_change(), die dann die combobox5 einstellt.
https://www.herber.de/bbs/user/79657.xlsm
Grüßle,
Andy
Anzeige
AW: Exklusive Combobox-Liste
03.04.2012 21:36:25
Andrew
Ich bin übrigens die nächsten zwei Tage unterwegs, hast also genug zeit es dir anzuschauen. Danke nochmals dafür. Bis denne,
Andy
AW: Exklusive Combobox-Liste
03.04.2012 22:08:29
Josef

Hallo Andy,
also solchen "Grusecode" ohne Variablendeklarationen mag ich gar nicht näher betrachten.
Die Spalten stimmen mit deinen Beschreibungen auch nicht überein!
Dim vntList() As Variant, lngIndex As Long, lngRow As Long

With Sheets("Rohstoffe")
  Redim vntList(0)
  For lngRow = 2 To Application.Max(2, .Cells(.Rows.Count, 1).End(xlUp).Row)
    If Left(.Cells(lngRow, 3), 4) = rohstoffcode And .Cells(lngRow, 4) <> "Freigabe" Then
      If IsError(Application.Match(.Cells(lngRow, 3), vntList, 0)) Then
        Redim Preserve vntList(lngIndex)
        vntList(lngIndex) = .Cells(lngRow, 3)
        lngIndex = lngIndex + 1
      End If
    End If
  Next
End With
ComboBox5.Clear
If lngIndex > 0 Then ComboBox5.List = vntList

Grüße an Maria;-))

« Gruß Sepp »

Anzeige
AW: Exklusive Combobox-Liste
03.04.2012 22:46:45
Andrew
Hi Sepp,
hast mich kurz erschreckt wegen Maria...Hab mich kurz beobachtet gefühlt ;)
Jaja Gruselig mein code, ich weiß. Bin halt nur ein einfacher Chemiker...
Also zu deinem Code. Sieht gut aus, funzt aber nicht so ganz. Wenn ich es laufen lasse habe ich zwar die Chargennummern in der Auswahl, Freigegebene Chargen werden aber nicht aussortiert. Hat es so bei dir funktioniert? Hab jetzt leider auch kaum noch zeit. muss wie gesagt morgen weg (ja, mit Maria).
Ich schau nochmal nach, nicht, dass ich irgendwas verbockt hab (undenkbar! ;)) und melde mich nochmal, wenn ich wieder da bin. Und nochmal: Dankedankepopanke!
Gruß,
Andy
Anzeige
AW: Exklusive Combobox-Liste
05.04.2012 18:26:28
Andrew
Hallo lieber Sepp,
der Gruselcoder ist wieder da. Also ich habs mir nochmal angeschaut / getestet und muss leider sagen, dass es immer noch nicht das tut, was es sollte. Beispiel: es sind 3 Chargen Brom eingetragen BRMx123, 234 und 345 alle "zur Analyse" dann trage ich in die unterste Zeile die Charge 123 als "Freigabe" ein (also für jedes Gebinde wieder eine Zeile / ein Etikett, nur dass "Freigabe" statt "zur Analyse" da steht. In der Combobox erscheinen dann aber alle drei Chargen. Sollten aber nur die 234 und 345 gelistet sein.
Ich hoffe ich nerv nicht allzusehr und du hast nochmal Lust drüber nachzudenken.
Gruß,
Der Andy
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige