Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1952to1956
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

Einträge in mehreren Dropdown-Menüs nach Übergabe löschen

Einträge in mehreren Dropdown-Menüs nach Übergabe löschen
10.11.2023 00:03:41
DiMein
Moin Zusammen.

Ich habe mir eine Userform mit TextBoxen und Dropdownlisten (ComboBoxen) gebaut, mittels derer ich eine Tabelle fülle. Nachdem ich die Daten über den "Einfügen"-Button an die Liste übergeben habe, sollen die Felder der Userform geleert werden, damit der nächste Datensatz eingegeben werden kann.

Für das Leeren der TextBoxen habe ich ein Script gefunden, dass mir diese leert. (Da ich diese Sequenz in ein bestehendes Sub eingefügt habe, fehlt hier die Sub / End Sub-Grenze).

' Leert die Text-Boxen in der Userform, nachdem der Datensatz hinzugefügt wurde
'
For Each objControl In Controls
Select Case TypeName(objControl)
Case "TextBox"
objControl.Text = ""
Case "ComboBox"
objControl.ListIndex = -1
Case "CheckBox"
objControl.Value = False
Case "OptionButton"
objControl.Value = False
End Select
Next

Weil da auch etwas von ComboBox steht, dachte ich, dass ich damit ALLE Felder leeren kann. Habe wie ein Geisteskranker rumexperimentiert, aber leider ohne Erfolg. Außerdem haben sich die Einträge in der Dropdown-Liste von selber vervielfältigt, und das mit jedem Datensatz, den ich eingegeben habe.

Auf meiner Suche nach einem analogen Script für Dropdown-Listen bin ich leider gescheiter. Ich habe zwar eines gefunden, mit dem man EINE Listen leeren kann (hat bei mir leider auch nicht geklappt), aber keines, mit dem ich beide leeren kann, vor allem eines, dass die Selbständige Vervielfältigung der Listeneinträge verhindert.

Hat jemand von euch da eine Lösung für mich?

Besten Dank schon Mal vorab.

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

Betreff
Datum
Anwender
Anzeige
AW: Einträge in mehreren Dropdown-Menüs nach Übergabe löschen
10.11.2023 00:28:57
onur
"aber leider ohne Erfolg" ? Was genau heisst das?
"Außerdem haben sich die Einträge in der Dropdown-Liste von selber vervielfältigt" ? DAS liegt nicht an DIESEM Code.
Poste mal die Datei.
AW: Einträge in mehreren Dropdown-Menüs nach Übergabe löschen
10.11.2023 08:48:55
Oberschlumpf
Moin,

ich hab deine Antworten und deine Zweifel, bzgl Bsp-Datei zeigen, gelesen.

Aber trotzdem bin auch ich Onur's Meinung, dass du uns bitte per Upload eine Bsp-Datei, mit Bsp-Daten, deinem Userform und dem Code zeigen könntest..nee..solltest! :-)

Denn...ohne Datei werden wir dir nicht helfen können, weil wir nicht wissen, was sonst noch so bei deinen Versuchen für anderer Code ausgeführt wird - obwohl du das genau in dem Moment gar nicht willst...aber du weißt es noch nicht besser.

Und das ist eigtl der Hauptgrund, wieso ohne Datei hier helfen nicht so ohne Weiteres geht: Du hast (noch) zu wenig Ahnung von VBA :-) (das is nich böse gemeint - ich lese nur "VBA nur mit Recorder" und schließe daraus meine Schlüsse)

So, lange Vorrede, hofftl genug Sinn! :-)

Damit du "dein anderes Problem" ("...noch andere Baustellen, wie z.B. das Formatieren des Eingabebereiches..." usw erst mal nicht beachten musst, würde ich dir das hier vorschlagen:

1. Erstell eine ganz neue Excel-Datei
2. Füge hier Bsp-Daten in den Tabellen ein
3. Füg der neuen Datei ein Userform hinzu, welches eben auch die Controls enthält, wie in deiner Originaldatei
4. Und trag deinen Code zu den Controls, Userform ein, der noch nicht das tut, was er soll
4. Und diese neue Datei zeigst du uns dann bitte per Upload

Ja, ich weiß, is n bisschen mehr Arbeit für dich - aber glaub mir - ich weiß nicht, wie oft...früher...ich meinen ganzen Computer neu aufsetzen musste, weil ich...mal wieder...irgdwas falsch machte, weil ich...früher...auch fast keine...auf jeden Fall aber zu wenig...Ahnung hatte!^^ :-)

Ciao
Thorsten
Anzeige
AW: Einträge in mehreren Dropdown-Menüs nach Übergabe löschen
10.11.2023 08:28:02
DiMein
Moin Onur.

Ich hatte das mit diesem Code versucht:

Sub ClearCombo()
Dim Combo As Object
Dim i As Integer
Set Combo = ActiveSheet.Shapes("Drop Down 1").OLEFormat.Object
For i = Combo.ListCount To 1 Step -1
Combo.RemoveItem (i)
Next
End Sub

Das Problem ist eben, dass hier nur (so sehe ich das mit meinen rudimentären VBA-Kenntnissen) EIN Dropdown-Menü angesprochen werden kann, und wenn ich für die "1" den Namen eines meiner Menüs z.B. DropdownSpoKennz eingebe, bekommen ich einen Debug-Fehler mit dem Namen des Dropdown-Menüs. Dann habe ich die ganze Bezeichnung "Drop Down 1" durch meinen Dropdown-Namen ersetzt. Auch wieder eine Fehlermeldung. Als nächstes Ich habe es mit "Set Drop Down 1 = DropDownSpoKennz" versucht, hat aber auch nicht funktioniert. Aber hier auch wieder ohne die Sub/End Sub Grenze, weil auch diese Sequenz Teil eines bestehenden Subs ist.

Mit dem anhängen der Datei ist das so eine Sache. Da habe ich noch andere Baustellen, wie z.B. das Formatieren des Eingabebereiches mit Zeilenhöhe und Rahmen, sowie die Anwendung von Wenn-Funktionen in Zellen, die nicht über die Userform befüllt werden für jede neu eingefügte Zeile. Da habe ich mir die Grundscripte mittels Makro-Aufzeichnung erstellt. Das ist also noch halbfertiger Kram, und könnte verwirren. Wenn ich dieses Problem gelöst habe, und mit dem Hauptproblem immer noch nicht durch bin, poste ich die Datei gerne.
Anzeige
AW: Einträge in mehreren Dropdown-Menüs nach Übergabe löschen
10.11.2023 08:34:44
onur
Dann halt nicht.
Viel Glück noch !
AW: Einträge in mehreren Dropdown-Menüs nach Übergabe löschen
10.11.2023 08:47:13
DiMein
Hi Onur.

Nun sei doch bitte nicht gleich eingeschnappt.

Ich hatte ja das Script geschickt, das ich gefunden hatte. Möglicherweise ist es ja das Falsche, aber das bei es zeigt eben, dass ich mich zuerst Mal auf die Suche nach einer Lösung meines Problems begeben habe.

Auch gut möglich, dass man dieses Script so abändern kann, dass es mein Problem behebt, aber dafür brauch ich halt euer Wissen. Ich sehe eben nur nicht, wie dir die Bereitstellung eines halbfertigen Projektes bei der Hilfestellung zur Lösung meines Problems dienlich sein könnte. Das ist schon alles. Ist KEIN böser Wille. :-)

Mit bestem Gruß
Anzeige
AW: Einträge in mehreren Dropdown-Menüs nach Übergabe löschen
10.11.2023 12:38:42
onur
Geh doch mal wegen Reparatur deines Autos OHNE das Auto in die Werkstatt und frage den Meister, was kaputt ist. Er schmeisst dich bestimmt hochkant raus.
Ich habe genausowenig Lust auf Ratespielchen.
Irgendwo im Code werden ja die ComboBoxen befüllt, das sollte normalerweise nur im Initialize-Event der Userform, das immer nur bei Start der Userform ausgeführt wird, geschehen. Ich vermute, das ist bei dir nicht der Fall und deswegen werden sie immer wieder neu befüllt.
AW: Einträge in mehreren Dropdown-Menüs nach Übergabe löschen
10.11.2023 15:41:09
DiMein
Hi Onur.

Du bist mein Held. :-)

Der Hinweis mit "Initialize" ließ mich stutzen, weil ich mich erinnerte, dass das in dem Video, das ich gesehen hatte auch vorkam. Also habe ich mir das Video noch Mal angeschaut, und tatsächlich, Da lag mein Fehler, wie du schon vermutet hattest.

Ich hatte das mit der "Sub Userform_Initialize()" komplett verdrängt, und darum gar nicht gemacht. Die habe ich nun nachgezogen und die beiden Dropdownlisten ( wieder mit YouTube :-)) dort eingefügt. Ausprobiert, und siehe da, KEINE vervielfältigten Einträge mehr in der Userform.

Vielen Dank für deinen Support. Dann kann ich mich nun dem Problem der Bereichsformatierung den der Wenn-Funktionen begeben.

Eine schönes Wochenende wünsche ich.

Mit besten Gruß
Anzeige
Gerne !
10.11.2023 16:08:48
onur

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige