Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
864to868
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
864to868
864to868
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
ComboBoxen vergleichen
04.05.2007 23:43:00
Lenhard
Moin Moin!
Ich habe ein UserForm mit ComboBoxen. Bei zwei ComboBoxen soll es verhindert werden, dass der gleiche Eintrag erfolgt.
1. Idee:
Der Eintrag ComboBox01 soll als fester Wert stehen bleiben.
Ist der Eintrag in ComboBox02 = ComboBox01, dann soll eine MsgBox auf dieses Doppel aufmerksam machen.
Nach Bestätigen auf OK soll der Focus wieder auf die ComboBox02 gesetzt werden und der Inhalt blau unterlegt sein zwecks Änderung.
2. Idee:
Beide ComboBoxen erhalten ihre Einträge ausschließlich aus der gleichen Dropdown-Liste.
Der erfolgte Eintrag der ComboBox01 erscheint automatisch nicht mehr in der Dropdown-Auswahl der ComboBox02.
Meine 2. Idee finde ich persönlich am besten, glaube aber, dass die 1. am einfachsten ist.
Aber egal welche Möglichkeit: Ich erbitte Eure Hilfe.
Gruß aus dem hohen Norden
Lenhard

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: ComboBoxen vergleichen
05.05.2007 00:33:48
Oberschlumpf
Hi Lenhard
Meinst du so?
https://www.herber.de/bbs/user/42267.xls
Hab mal ein Bsp mit Wochentagen erstellt.
Beim Klick in eine beliebige Zelle wird das UF gestartet und beide Combos wedren mit allen 7 Wochentagen gefüllt. Wählst du nun in Combo1 einen Tag aus, kannst du in Combo2 nur noch einen der übrigen Tage wählen. Andersrum gehts genau so.
Konnte ich helfen?
Ciao
Thorsten

AW: ComboBoxen vergleichen
05.05.2007 00:44:23
Lenhard
Moin Thorsten!
Dein Beispiel ist ein Hammer! ...und ich finde diese Lösung richtig gut.
Ich muss sie nur noch in mein Projekt umsetzen. Hoffentlich schaffe ich das. Ich gehe jetzt mal an die Arbeit und hoffe, dass die Müdigkeit mich nicht übermannt. Ansonsten melde ich mich morgen noch mal!!
Vielen Dank! Thorsten!
Gruß
Lenhard

Anzeige
AW: ComboBoxen vergleichen
05.05.2007 01:18:19
Lenhard
Hallo Thorsten!
Ich habe mir nun Gedanken gemacht und versucht, Deine Idee in mein Projekt zu integrieren... ...und schon "meckert" mich die VBA-Prüfung an: Sie markiert mir "pboNoCh" und sagt "Variable nicht definiert" ...? Und da geht es schon los. Sei mir bitte nicht böse, aber in Sachen VBA mache ich die ersten größeren Schritte (...bin so langsam vom Makro-Recorder weg) und muss noch viel lernen. Ganz ehrlich: Ich weis eigentlich nicht, was ich in VBA unter einer "Variabelen" verstehen soll... ...auch ein weiterer Begriff wie "Objekte" löst ? aus. Und mit der Hilfe in VBA stehe ich auf Kriegsfuss.
Ich habe mir nun mal Erlaubt, den Code (bei dem Peter Feustel mir hier im Forum geholfen hat) hier reinzustellen. Ist es eine schwere Aufgabe, Dein Skript hier mit ein zu arbeiten bzw. Dein Skript mit Anpassungen im Grundgerüst zu belassen und in das Makroblatt des UserForms mit rein zusetzen?!?

Private Sub UserForm_Activate()
Dim lZeile  As Long
With Worksheets("Basisdaten")         'DropDown der ComboBoxPflege01
For lZeile = 10 To .Range("C65536").End(xlUp).Row
If .Range("E" & lZeile).Value  "" Then
ComboBoxPflege01.AddItem .Range("E" & lZeile).Value
End If
Next lZeile
End With
If ComboBoxPflege01.ListCount > 0 Then
ComboBoxPflege01.ListIndex = 0
End If
With Worksheets("Basisdaten")         'DropDown der ComboBoxPflege02
For lZeile = 10 To .Range("C65536").End(xlUp).Row
If .Range("E" & lZeile).Value  "" Then
ComboBoxPflege02.AddItem .Range("E" & lZeile).Value
End If
Next lZeile
End With
If ComboBoxPflege02.ListCount > 0 Then
ComboBoxPflege02.ListIndex = 1
End If
End Sub


Vielen Dank!
Gruß
Lenhard

Anzeige
AW: ComboBoxen vergleichen
05.05.2007 11:41:10
Lenhard
Mion Thorsten!
Nun sitze ich hier und habe mir die beiden Skripte mit Text-Editoren nebeneinander gestellt. Ich versuche die Zusammenhänge zu verstehen, habe aber imense Schwierigkeiten.
Ich glaube, mein Hauptproblem ist, dass Dein Skript die Dropdownliste der ComboBoxen aus einem Makro holt (Richtig?!), während mein (bzw. Peters) Skript alles aus einem Arbeitsblatt bezieht.
Ich würde mich sehr freuen, wenn Du Dein Skript noch mal mit einem Arbeitsblattbezug anbieten könntest. Vielleicht überwinde ich dann meine Zuordnungs-Schwierigkeiten.
Danke Thorsten!
Gruß
Lenhard

Anzeige
AW: ComboBoxen vergleichen
05.05.2007 12:31:26
Oberschlumpf
Hi Lenhard
Besser fänd ich, wenn du ne Bsp-Datei uploadest.
Dann kann ich nämlich sehen, in welchen Zellen deine Daten stehen.
Und ja, hast Recht, die Wochentage sind in einem Makro hinterlegt.
Ciao
Thorsten

AW: ComboBoxen vergleichen
05.05.2007 13:35:43
Lenhard
Ja hast Recht!! ...das ist wohl besser!!
https://www.herber.de/bbs/user/42274.xls
Man man, was für eine Arbeit. Jedenfalls für mich! :-)) ...ich mußte die Orginal-Datei eben mal Datenreduzieren. Das Orginal hat schon über 1,6 MB. Es ist mir auch gelungen, nur funktioniert dann der OK-Button im UserForm1 nicht mehr, habe ja alles rausgeschmissen was "nix nötig tat".
Vorab vielen Dank! Thorsten!
Gruß
Lenhard

Anzeige
AW: ComboBoxen vergleichen
05.05.2007 14:36:00
Oberschlumpf
Hi Lenhard
Hier deine Bsp-Datei korrigiert zurück:
https://www.herber.de/bbs/user/42275.xls
Kleiner Nachteil:
Du hattest die Combos so eingestellt, dass sie beim Anklicken direkt aufgehen.
Mit meinem Code ist das leider nicht möglich.
Wenn du damit vermeiden wolltest, dass "freihändig" Text eingegeben werden kann, dann hab ich das selbe Ziel mit Match Required = True auch erreicht.
Ansonsten läuft es jetzt so, dass in beiden Combos nicht die gleiche Auswahl getroffen werden kann.
Konnte ich helfen?
Ciao
Thorsten

Anzeige
AW: ComboBoxen vergleichen
05.05.2007 18:08:00
Lenhard
Hallo Thorsten! Als Erstes: Vielen Dank! So wie es in der zurück geschickten Datei läuft, so soll es sein!!
Aber leider läuft es nach meinem Umbau noch nicht so ganz rund... beim Starten des UF bekomme ich folgende VBA-Fehlermeldung: Laufzeitfehler 424: Objekt erforderlich
Im VBA-Editor ist folgende Zeile im Module1 gelb unterlegt (siehe ###):
Public pstrSamml() As String, pboNoCh As Boolean
Sub Sammlung()
Dim loZeile As Long
With Worksheets("Basisdaten")
ReDim pstrSamml(.Range("E65536").End(xlUp).Row)
For loZeile = 3 To .Range("E65536").End(xlUp).Row
pstrSamml(loZeile - 3) = .Range("E" & loZeile).Value
UserForm1.ComboBoxPflege01.AddItem .Range("E" & loZeile).Value ###Hier kriege ich Mecker!!!
UserForm1.ComboBoxPflege02.AddItem .Range("E" & loZeile).Value
Next
End With
End Sub


----
Im UF-Skript hatte ich natürlich schon "


Private Sub UserForm Activate". Ich habe dort den Bezug zum Makro "Sammlung" einfach  _
folgendermaßen dazu gesetzt:


Private Sub UserForm_Activate()
Sammlung
With TextBoxDatum
.Text = Format(Date, "dd.mm.yyyy")
.SetFocus
.SelStart = 0
.SelLength = Len(.Text)
End With
End Sub


Letzteres müßte doch richtig sein?!? ...oder?!
Vielen Dank nochmals!
Gruß
Lenhard

Anzeige
AW: ComboBoxen vergleichen
05.05.2007 18:46:59
Lenhard
Erst mal alles zurück!! Habe zumindestens diesen Fehler gefunden!!!
...nun ist aber ein neuer da!! Ich schau aber erst mal selber und melde mich dann nur, wenn ich diesen neuen Fehler wirklich nicht selber finde!! Ich persönlich würde es auch nicht gut finden, "Wenn man die Hühner einfach so wild macht"! :-)))
Sollte ich es aber alles "zum Laufen" kriegen melde ich mich natürlich auch noch mal!!
Bis dann! Thorsten
Gruß
Lenhard

AW: ComboBoxen vergleichen
05.05.2007 19:43:04
Lenhard
Hallo Thorsten!
Also der Folgefehler war: Laufzeitfehler 380: Eigenschaft konnte nicht gesetzt werden. Ungültiger Eigenschaftswert.
Und die 3. Zeile von unten wurde in Deiner Korrektur angemeckert:

Private Sub ComboBoxPflege01_Change()
Dim liIndex As Integer, lstrTxt As String
If pboNoCh = True Then Exit Sub
pboNoCh = True
lstrTxt = ComboBoxPflege02.Text
ComboBoxPflege02.Clear
Do Until pstrSamml(liIndex) = ""
If ComboBoxPflege01.Text  pstrSamml(liIndex) Then
ComboBoxPflege02.AddItem pstrSamml(liIndex)
End If
liIndex = liIndex + 1
Loop
'    ComboBoxPflege02.Text = lstrTxt   '###HIER WAR MECKER  !!!
pboNoCh = False
End Sub


Nun, ich habe gekuckt, verglichen und nachgedacht. Dann habe die Zeile mit einem Apostroph einfach deaktiviert... ...UND ES LÄUFT SEITDEM!!
Oder war das nicht so schlau?! ...passiert da jetzt vielleicht etwas, was ich noch gar nicht ahne?!
Liegt es vielleicht an eine übergeordnete Prüfung, ob ein Eintrag in der ComboBoxPflege01 vorhanden ist (Pflichteintrag!). Für die ComboBoxPflege02 besteht diese Prüfung nicht, da es sich hier um einen "Kann-Eintrag" handelt.
Das war natürlich alles nicht bei meiner "abgespeckten" Datei dabei.
Wenn es Dir nicht allzu viel Mühe macht, würde ich sehr freuen, wenn Du meine Ausführungen hier noch mal kurz "durchdenken" würdest. Ich könnte ja auch noch mal nur den UserForm-Skript-Text als txt- oder Word-Datei hochladen.
Egal wie, ich möchte mich hier schon mal bedanken.
Melde Dich bitte noch mal kurz! Danke!
Gruß
Lenhard

Anzeige
AW: ComboBoxen vergleichen
05.05.2007 22:06:33
Oberschlumpf
Hi Lenhard
Lösch den gesamten Code im Change-Ereignis von ComboBoxPflege02
und lösch im Klickereignis von ComboBoxPflege01 diese Zeile
ComboBoxPflege02.Text = lstrTxt
Nun wird nur noch geprüft, dass in ComboBoxPflege02 nicht der gleiche Wert wie in ComboBoxPflege01 ausgewählt werden kann.
Wenn in ComboBoxPflege01 der Wert ausgewählt wird, der zuvor in ComboBoxPflege02 gewählt wurde, wird der Wert in ComboBoxPflege02 automatisch gelöscht.
Läuft es nun genau so wie du willst?
Ciao
Thorsten

AW: ComboBoxen vergleichen
05.05.2007 22:32:00
Lenhard
Hallo Thorsten!
Das alles beweist eins: Du kannst komplexe Zusammenhänge erfassen, interpretieren und dann Lösungen anbieten. Ich ziehe den Hut!! Allen Respekt!
Ich muss aber auch mittlerweile feststellen, dass das können viele hier im Forum können. Ich denke da mit an Erich und andere.
Aber nun noch mal zu Dir, Thorsten: ES LÄUFT WIE ICH ES MIR VORSTELLE! ...und ich möchte mich ganz herzlich bei Dir bedanken!
Nun geht es weiter mit diesem Projekt (...da muss noch einiges rein!). Ich versuche es mit meinen bisher erworbenen Kenntnissen selber zu reglen, weiter erst mal ins Forum-Archiv, die von mir ungeliebte VBA-Hilfe werde ich selbstverständlich auch sichten und wenn dann alle Stricke reißen: Dann melde ich mich hier bei Euch!!
Nochmals: Vielen Dank Thorsten!!
Gruß aus dem hohen Norden
Lenhard

Anzeige
grins...danke..mit Text
05.05.2007 23:03:00
Oberschlumpf
Hi Lenhard
Danke Danke! Solch Text wie den gerad von dir höre und lese (bestimmt nicht nur) ich doch immer wieder gerne :-)
Für dich nur diese Tipps:
Bleib immer am Ball! Du wirst es vielleicht nicht glauben, aber ich habe mir VBA fast nur mit Hilfe dieses Forums selbst beigebracht. Ich war anfangs auch einer von denen, die viele Fragen gestellt und noch mehr Antworten erhalten haben :-)
Aber nun hab ich die Seiten gewechselt..grins...stelle aber hin und wieder auch noch Fragen.
Denn wer nicht fragt, dem kann nicht (weiter)geholfen werden ;-)
Und die Excel eigene Hilfe kann ich als Nachschlagewerk nur empfehlen!
Sicher, sie kann diesem Forum nie nich das Wasser reichen :-), aber als Nachschlagewerk für die Syntax der ganzen Befehle fast unschlagbar.
Es ist zwar ein wenig widersinnig, aber um die Excel-Hilfe nutzen zu können, muss man Excel verstanden haben..lol...na ja..so einigermaßen zumindest ;-)
So..weiter viel Spaß mit Excel und VBA!
auch Grüße ausm Norden (HH) :-)
Thorsten
Anzeige

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige