Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1160to1164
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
ComboBox-Auswahl abarbeiten und verringern
Das
Guten Morgen,
gibt es eine Möglichkeit, die Auswahlliste (Bezeichnungen aus einer Tabelle) der ComboBox immer um die Auswahl zu verringern, bei der "Speichern" ausgelöst wurde.
Vereinfachtes Beispiel:
UserForm mit einer ComboBox, einer Textbox und einem Speicherbutton. Die Combobox wird mit "Bezeichnungen", welche in einer Tabelle zusammengesucht werden, gefüllt.
Die Auswahlmöglichkeiten ("Bezeichnungen") in der Combobox lauten: "Hund", "Hase", "Schwein" und "Maus".
Wenn ich jetzt das "Schwein" ausgewählt habe und auf Speichern klicke, soll in der ComboBox nur noch "Hund", "Hase" und "Maus" zur Auswahl stehen.
Wie könnte der Codeteil dafür in Speichern_Click() aussehen?
Schöne Grüße aus Hessen
Holger
AW: ComboBox-Auswahl abarbeiten und verringern
18.06.2010 10:18:53
ChrisL
Hi Holger
Beispiel im Anhang.
https://www.herber.de/bbs/user/70135.xls
Private Sub Workbook_Open()
Call cbUpdate
End Sub

Private Sub CommandButton1_Click()
With Worksheets("Tabelle1")
If .ComboBox1  "" Then
.Cells(Application.Match(.ComboBox1, .Columns(1), 0), 2) = True
End If
End With
Call cbUpdate
End Sub
Sub cbUpdate()
Dim iZeile As Byte
With Worksheets("Tabelle1")
.ComboBox1.Clear
For iZeile = 1 To .Range("A65536").End(xlUp).Row
If .Cells(iZeile, 2) = "" Then .ComboBox1.AddItem .Cells(iZeile, 1)
Next iZeile
End With
End Sub cu
Chris
Anzeige
AW: ComboBox-Auswahl abarbeiten und verringern
18.06.2010 10:43:47
Das
Hallo Chris,
danke für die Mühe, die du dir gemacht hast.
Allerdings wollte ich keine Lösung über eine Markierung imTabellen-Blatt. Sonst würde ich mit Kreuzchen oder ähnlichen arbeiten. Eine Lösung wäre auch, die "Bezeichnung" nach dem Speicherklick Fett zu formatieren, die ComboBox neu laden lassen und dabei alle Fett markierten auszuschließen.
Aber ich wollte wissen ob es eine Möglichkeit gibt, die "Bezeichnungen" nur aus der temporären Liste der ComboBox zu löschen ohne etwas am Tabellenblatt zu ändern.
Oder ist das gar nicht möglich? Ich lasse die Frage trotzdem offen, vielleicht kennt ja Jemand die Antwort.
Gruß Holger
Anzeige
AW: ComboBox-Auswahl abarbeiten und verringern
18.06.2010 10:58:43
ChrisL
Hi Holger
Irgendwo musst du eine Markierung setzen. Die Liste kannst du ja auch ausblenden und ggf. bei Neustart zurücksetzen.
Ich lasse die Frage offen, weil ich mich grad um was anderes kümmern muss.
cu
Chris
AW: ComboBox-Auswahl abarbeiten und verringern
18.06.2010 11:32:46
Das
Meine Überlegung war:
Da eine ComboBox die aus dem Arbeitsblatt gesuchten und angezeigten "Bezeichnungen" irgendwo tempörär (Arbeitsspeicher?) vorhalten muss, dass man diese auch wieder (einzeln) irgendwie aus diesem temporären Speicher löschen kann.
Ist dies irgendwie möglich?
Gruß Holger
ComboBox-Eintrag beim Speichern löschen
18.06.2010 12:05:12
NoNet
Hallo Holger,
kopiere diese Code in das Klassenmodul "DieseArbeitsmappe" :
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Dim lngT As Long, lngDelete As Long
With Sheets(1).ComboBox1
For lngT = 0 To .ListCount - 1
If .List(lngT - lngDelete) = .Value Then
.RemoveItem (lngT)
lngDelete = lngDelete + 1
End If
Next
End With
End Sub
Der Code bezieht sich auf die ComboBox1 im ersten Tabellenblatt - beides kanst Du ggf. anpassen !
Gruß, NoNet
Anzeige
AW: ComboBox-Eintrag beim Speichern löschen
18.06.2010 12:32:45
Das
Hallo NoNet,
habe jetzt mal deine Code auf die ComboBox der betreffende UF umgeschrieben und dort auf den Speicherbutton bezogen und er funktioniert wirklich. Hätte ich nicht gedacht. Vielen Dank!
Kann man den Code noch so anpassen, dass der noch angezeigte (aber gelöschte) Wert in der ComboBox auch gleich verschwindet und nicht erst nach einer Neuwahl?
Private Sub CommandButton1_Click()
Dim lngT As Long, lngDelete As Long
With ComboBox1
For lngT = 0 To .ListCount - 1
If .List(lngT - lngDelete) = .Value Then
.RemoveItem (lngT)
lngDelete = lngDelete + 1
End If
Next
End With
End Sub
Gruß Holger
Anzeige
If lngDelete > 0 Then .Value = ""
21.06.2010 11:11:12
NoNet
Hallo Holger,
ergänze Deinen Code um 1 Zeile (hinter NEXT) :
Private Sub CommandButton1_Click()
Dim lngT As Long, lngDelete As Long
With ComboBox1
For lngT = 0 To .ListCount - 1
If .List(lngT - lngDelete) = .Value Then
.RemoveItem (lngT)
lngDelete = lngDelete + 1
End If
Next
If lngDelete > 0 Then .Value = ""
End With
End Sub
Gruß, NoNet
AW: If lngDelete > 0 Then .Value = ""
21.06.2010 11:18:18
Das
Hallo NoNet,
danke für deine Hilfe. Allerdings habe ich jetzt schon die Lösung von Gerd L eingebaut, die nur minimal von deiner Lösung abweicht.
Gruß Holger
AW: ComboBox-Auswahl abarbeiten und verringern
19.06.2010 12:09:05
Gerd
Hallo Hühnerholger! :-)
Private Sub CommandButton1_Click()
Dim lngT As Long, lngDelete As Long
With ComboBox1
For lngT = 0 To .ListCount - 1
If .List(lngT - lngDelete) = .Value Then
.ListIndex = -1
.RemoveItem (lngT)
lngDelete = lngDelete + 1
End If
Next
End With
End Sub
Gruß Gerd
Anzeige
AW: ComboBox-Auswahl abarbeiten und verringern
20.06.2010 08:28:56
Das
Hallo Gerd,
ich kann zwar deinen Code erst am Montag testen, aber wie ich dich kenne, funktioniert er so wie ich es wollte ;-)
Deswegen jetzt schon vielen Dank!
Gruß Holger
AW: ComboBox-Auswahl abarbeiten und verringern
20.06.2010 10:20:43
Gerd
Hallo Holger,
sicher ist, dass nichts sicher ist. Vielleicht besser so:
Private Sub CommandButton1_Click()
Dim lngT As Long, lngDelete As Long
With ComboBox1
For lngT = 0 To .ListCount - 1
If .List(lngT - lngDelete) = .Value Then
.RemoveItem (lngT)
lngDelete = lngDelete + 1
End If
Next
.ListIndex = -1
End With
End Sub
Gruß Gerd
AW: ComboBox-Auswahl abarbeiten und verringern
21.06.2010 10:30:21
Das
Hallo Gerd,
deine beiden Codes funktionieren gut und beim Ausführen gab es keine merkbaren Unterschiede. Aber ich habe mich natürlich trotzdem für den letzten Code entschieden.
Vielen Dank!
Gruß Holger
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