Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1244to1248
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
Wenn Combobox1 click, dann Combobox 2&3 leeren
Ingo
Hallo liebe Excelprofis,
ich habe auf UF1 drei Comboboxen, die mir nach Auswahl, die Listbox1 und verschiedene Textboxen füllt.
Wenn ich zuerst Combobox1 anklicke steht dann ein Wert zur Auswahl und die dazugehörigen Daten werden in Listbox1 geschrieben, wenn ich allerdings Combobox 2 od 3 anklicke bleibt der Wert in CB1 stehen.
Frage: Wie kann ich es anstellen, dass bei Auswahl CB1 die CBen 2 & 3 und entsprechenden Textboxen geleert werden? Bei CB 2 entsprechend CB 1 & 3 etc. Die Listbox wird zuverlässig vor Neueintrag geleert.
Bei: Combobox2.clear wird bei "Suche = ComboBox2.List(ComboBox2.ListIndex, 0)" gemeckert!
Vielen Dank im voraus
LG Ingo
Private Sub ComboBox1_Change() 'Klasse
Dim K As Long
Dim N As Long
Dim Suche As String
Dim Stunden As Double
Suche = ComboBox1.List(ComboBox1.ListIndex, 0)
With Worksheets("AlleDaten")
ListBox1.Clear
For K = 2 To .Cells(Rows.Count, 1).End(xlUp).Row
If Suche = .Cells(K, 1).Value Then
ListBox1.AddItem
N = ListBox1.ListCount - 1
ListBox1.List(N, 0) = .Cells(K, 1).Value
ListBox1.List(N, 1) = .Cells(K, 2).Value
ListBox1.List(N, 2) = .Cells(K, 3).Value
ListBox1.List(N, 3) = Format(.Cells(K, 4).Value, "##0.00")
ListBox1.List(N, 4) = Format(.Cells(K, 5).Value, "##0.00")
ListBox1.List(N, 5) = .Cells(K, 6).Value
'ListBox1.List(N, 5) = Format(.Cells(K, 6).Value, "##0.00")
ListBox1.List(N, 6) = K
Stunden = Format(Stunden + .Cells(K, 4).Value, "##0.00")
End If
Next
TextBox15.Value = Stunden
End With
End Sub
Private Sub ComboBox2_Change() 'Fach
Dim K As Long
Dim N As Long
Dim Suche As String
Dim Stunden As Double
Suche = ComboBox2.List(ComboBox2.ListIndex, 0)
With Worksheets("AlleDaten")
ListBox1.Clear
For K = 2 To .Cells(Rows.Count, 1).End(xlUp).Row
If Suche = .Cells(K, 2).Value Then
ListBox1.AddItem
N = ListBox1.ListCount - 1
ListBox1.List(N, 0) = .Cells(K, 1).Value
ListBox1.List(N, 1) = .Cells(K, 2).Value
ListBox1.List(N, 2) = .Cells(K, 3).Value
ListBox1.List(N, 3) = Format(.Cells(K, 4).Value, "##0.00")
ListBox1.List(N, 4) = Format(.Cells(K, 5).Value, "##0.00")
ListBox1.List(N, 5) = .Cells(K, 6).Value
'ListBox1.List(N, 5) = Format(.Cells(K, 6).Value, "##0.00")
ListBox1.List(N, 6) = K
Stunden = Format(Stunden + .Cells(K, 4).Value, "##0.00")
End If
Next
TextBox15.Value = Stunden
End With
End Sub
Private Sub ComboBox3_Change() 'Name
Dim K As Long
Dim N As Long
Dim Suche As String
Dim Stunden As Double
With Me
Sheets("Namen").Activate
Range("a:a").Select
Selection.Find(what:=.ComboBox3.Value, _
after:=ActiveCell, _
LookIn:=xlFormulas, lookat:=xlPart, _
searchorder:=xlByRows, searchdirection:=xlNext, _
MatchCase:=False).Activate
.TextBox10.Value = Round(ActiveCell.Offset(0, 5).Value, "2") ' Altersentlastung
.TextBox11.Value = Round(ActiveCell.Offset(0, 6).Value, "2") ' Entlast.Beh
.TextBox12.Value = Round(ActiveCell.Offset(0, 7).Value, "2") ' Entl.Vorgriff
.TextBox9.Value = Round(ActiveCell.Offset(0, 8).Value, "2") ' Entl SFD
.TextBox14.Value = Round(ActiveCell.Offset(0, 2).Value, "2") 'Deputat
.TextBox7.Value = Round(ActiveCell.Offset(0, 10).Value, "2") 'Summe Entl
.TextBox8.Value = Round(ActiveCell.Offset(0, 9).Value, "2") 'Entl Std Konto
.TextBox13.Value = Round(ActiveCell.Offset(0, 11).Value, "1") 'Bez Std
'TextBox34.Value = Round(ActiveCell.Offset(0, 34).Value, "2")
End With
Suche = ComboBox3.List(ComboBox3.ListIndex, 0)
With Worksheets("AlleDaten")
ListBox1.Clear
For K = 2 To .Cells(Rows.Count, 1).End(xlUp).Row
If Suche = .Cells(K, 3).Value Then
ListBox1.AddItem
N = ListBox1.ListCount - 1
ListBox1.List(N, 0) = .Cells(K, 1).Value
ListBox1.List(N, 1) = .Cells(K, 2).Value
ListBox1.List(N, 2) = .Cells(K, 3).Value
ListBox1.List(N, 3) = Format(.Cells(K, 4).Value, "##0.00")
ListBox1.List(N, 4) = Format(.Cells(K, 5).Value, "##0.00")
ListBox1.List(N, 5) = .Cells(K, 6).Value
'ListBox1.List(N, 5) = Format(.Cells(K, 6).Value, "##0.00")
ListBox1.List(N, 6) = K
Stunden = Format(Stunden + .Cells(K, 4).Value, "##0.00")
End If
Next
TextBox15.Value = Stunden
'TextBox32.Text = Worksheets("Namen").Cells(ComboBox3.ListIndex + 10)
End With
'On Error GoTo Fehler
'Fehler:
'MsgBox "Dieser Name ist nicht in Tabelle NAMEN vorhanden, oder muss bearbeitet werden!"
End Sub

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Wenn Combobox1 click, dann Combobox 2&3 leeren
06.01.2012 15:43:46
Frank
Hallo Ingo!
Probier mal:
ComboBox2 = ""
ComboBox3 = ""
Musst du in die entsprechenden Prozeduren einbauen und immer anpassen!
Hilfts?
Gruß Frank H.!!!
AW: Wenn Combobox1 click, dann Combobox 2&3 leeren
06.01.2012 16:24:36
Ingo
Hallo Frank,
das hatte ich auch schon probiert, leider klappt´s nicht.
"Eigenschaft List konnte nicht abgerufen werden"
ich habe: ComboBox2 = ""
ComboBox3 = ""
vor " Suche = ComboBox1.List(ComboBox1.ListIndex, 0) eingefügt, dann kommt der Fehler.
Hast Du noch eine Idee?
Gruß Ingo
AW: Wenn Combobox1 click, dann Combobox 2&3 leeren
06.01.2012 18:14:09
Ingo
Ich vergaß das "Häckchen" ;-(
! Wenn Combobox1 click, dann Combobox 2&3 leeren
06.01.2012 18:19:26
Ingo
Ich vergaß das Häckchen ;-(
Habe es anders gelöst
10.01.2012 20:49:51
Ingo
Ich habe das Problem anders gelöst.
Gruß
Ingo
Anzeige

374 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige