Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

User-Form ComboBoxen füllen ohne Änderung

Forumthread: User-Form ComboBoxen füllen ohne Änderung

User-Form ComboBoxen füllen ohne Änderung
01.09.2004 17:36:26
Petro
Hallo,
habe folgendes Problem:
in einer Userform habe ich 9 ComboBoxen,
die erste ist zum wählen einer Gruppe die dann den zu wählenden Inhalt der 8 anderen bestimmt, solange aber in der ersten nichts gewählt ist bleiben die 8 anderen mit dem Wert der bereits im Arbeitsblatt vorhanden ist gefüllt und sollte erst nach Änderung der jeweiligen Box NUR in dem Feld des Arbeitsblattes geändert werden Folgender Code:

Private Sub UserForm_Initialize()
Sheets("Spieler").Select
Range("A4:F558").Select
Selection.Sort Key1:=Range("A4"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
SPTag = Sheets("DKB").Cells(1, 53).Value
temp_verein = ""
izeile = 0
iRowL = Sheets("Spieler").Cells(Rows.Count, 1).End(xlUp).Row
With Worksheets("Spieler")
For iRow = 4 To iRowL
If Not IsEmpty(.Cells(iRow, 1)) And .Cells(iRow, 1).Value <> temp_verein Then
temp_verein = .Cells(iRow, 1).Value
CB_Verein.AddItem .Cells(iRow, 1).Value
izeile = izeile + 1
End If
Next iRow
End With
CB_Sp1.Value = Sheets(SPTag).Range("B60").Value
CB_Sp2.Value = Sheets(SPTag).Range("B65").Value
CB_Sp3.Value = Sheets(SPTag).Range("B70").Value
CB_Sp4.Value = Sheets(SPTag).Range("B75").Value
CB_Sp5.Value = Sheets(SPTag).Range("B80").Value
CB_Sp6.Value = Sheets(SPTag).Range("B85").Value
CB_Sp7.Value = Sheets(SPTag).Range("B90").Value
CB_Sp8.Value = Sheets(SPTag).Range("B95").Value
End Sub


Private Sub CB_Verein_Change()
Verein_wahl = CB_Verein.Value
izeile = 0
CB_Sp1.ColumnCount = 3
CB_Sp1.ColumnWidths = "100"
CB_Sp2.ColumnCount = 3
CB_Sp2.ColumnWidths = "100"
CB_Sp3.ColumnCount = 3
CB_Sp3.ColumnWidths = "100"
CB_Sp4.ColumnCount = 3
CB_Sp4.ColumnWidths = "100"
CB_Sp5.ColumnCount = 3
CB_Sp5.ColumnWidths = "100"
CB_Sp6.ColumnCount = 3
CB_Sp6.ColumnWidths = "100"
CB_Sp7.ColumnCount = 3
CB_Sp7.ColumnWidths = "100"
CB_Sp8.ColumnCount = 3
CB_Sp8.ColumnWidths = "100"
iRowL = Sheets("Spieler").Cells(Rows.Count, 1).End(xlUp).Row
With Worksheets("Spieler")
For iRow = 4 To iRowL
If Not IsEmpty(.Cells(iRow, 4)) And .Cells(iRow, 1).Value = Verein_wahl Then
CB_Sp1.AddItem .Cells(iRow, 4).Value
CB_Sp1.List(izeile, 1) = .Cells(iRow, 2) ' zweite Spalte
CB_Sp1.List(izeile, 2) = .Cells(iRow, 3) ' dritte Spalte (nicht sichtbar)
CB_Sp2.AddItem .Cells(iRow, 4).Value
CB_Sp2.List(izeile, 1) = .Cells(iRow, 2) ' zweite Spalte
CB_Sp2.List(izeile, 2) = .Cells(iRow, 3) ' dritte Spalte (nicht sichtbar)
CB_Sp3.AddItem .Cells(iRow, 4).Value
CB_Sp3.List(izeile, 1) = .Cells(iRow, 2) ' zweite Spalte
CB_Sp3.List(izeile, 2) = .Cells(iRow, 3) ' dritte Spalte (nicht sichtbar)
CB_Sp4.AddItem .Cells(iRow, 4).Value
CB_Sp4.List(izeile, 1) = .Cells(iRow, 2) ' zweite Spalte
CB_Sp4.List(izeile, 2) = .Cells(iRow, 3) ' dritte Spalte (nicht sichtbar)
CB_Sp5.AddItem .Cells(iRow, 4).Value
CB_Sp5.List(izeile, 1) = .Cells(iRow, 2) ' zweite Spalte
CB_Sp5.List(izeile, 2) = .Cells(iRow, 3) ' dritte Spalte (nicht sichtbar)
CB_Sp6.AddItem .Cells(iRow, 4).Value
CB_Sp6.List(izeile, 1) = .Cells(iRow, 2) ' zweite Spalte
CB_Sp6.List(izeile, 2) = .Cells(iRow, 3) ' dritte Spalte (nicht sichtbar)
CB_Sp7.AddItem .Cells(iRow, 4).Value
CB_Sp7.List(izeile, 1) = .Cells(iRow, 2) ' zweite Spalte
CB_Sp7.List(izeile, 2) = .Cells(iRow, 3) ' dritte Spalte (nicht sichtbar)
CB_Sp8.AddItem .Cells(iRow, 4).Value
CB_Sp8.List(izeile, 1) = .Cells(iRow, 2) ' zweite Spalte
CB_Sp8.List(izeile, 2) = .Cells(iRow, 3) ' dritte Spalte (nicht sichtbar)
izeile = izeile + 1
End If
Next iRow
End With
CB_Sp1.AddItem ""
CB_Sp1.List(izeile, 1) = ""
CB_Sp1.List(izeile, 2) = ""
CB_Sp2.AddItem ""
CB_Sp2.List(izeile, 1) = ""
CB_Sp2.List(izeile, 2) = ""
CB_Sp2.AddItem ""
CB_Sp2.List(izeile, 1) = ""
CB_Sp2.List(izeile, 2) = ""
CB_Sp3.AddItem ""
CB_Sp3.List(izeile, 1) = ""
CB_Sp3.List(izeile, 2) = ""
CB_Sp4.AddItem ""
CB_Sp4.List(izeile, 1) = ""
CB_Sp4.List(izeile, 2) = ""
CB_Sp5.AddItem ""
CB_Sp5.List(izeile, 1) = ""
CB_Sp5.List(izeile, 2) = ""
CB_Sp6.AddItem ""
CB_Sp6.List(izeile, 1) = ""
CB_Sp6.List(izeile, 2) = ""
CB_Sp7.AddItem ""
CB_Sp7.List(izeile, 1) = ""
CB_Sp7.List(izeile, 2) = ""
CB_Sp8.AddItem ""
CB_Sp8.List(izeile, 1) = ""
CB_Sp8.List(izeile, 2) = ""
Sheets(SPTag).Select
End Sub


Private Sub CB_Sp1_Change()
SPTag = Sheets("DKB").Cells(1, 53).Value
Sheets(SPTag).Range("B60").Value = CB_Sp1.List(CB_Sp1.ListIndex, 0)
Sheets(SPTag).Range("I60").Value = CB_Sp1.List(CB_Sp1.ListIndex, 1)
Sheets(SPTag).Range("H60").Value = CB_Sp1.List(CB_Sp1.ListIndex, 2)
ActiveWorkbook.Save
End Sub


Private Sub CB_Sp2_Change()
SPTag = Sheets("DKB").Cells(1, 53).Value
Sheets(SPTag).Range("B65").Value = CB_Sp2.List(CB_Sp2.ListIndex, 0)
Sheets(SPTag).Range("I65").Value = CB_Sp2.List(CB_Sp2.ListIndex, 1)
Sheets(SPTag).Range("H65").Value = CB_Sp2.List(CB_Sp2.ListIndex, 2)
ActiveWorkbook.Save
End Sub


Private Sub CB_Sp3_Change()
SPTag = Sheets("DKB").Cells(1, 53).Value
Sheets(SPTag).Range("B70").Value = CB_Sp3.List(CB_Sp3.ListIndex, 0)
Sheets(SPTag).Range("I70").Value = CB_Sp3.List(CB_Sp3.ListIndex, 1)
Sheets(SPTag).Range("H70").Value = CB_Sp3.List(CB_Sp3.ListIndex, 2)
ActiveWorkbook.Save
End Sub


Private Sub CB_Sp4_Change()
SPTag = Sheets("DKB").Cells(1, 53).Value
Sheets(SPTag).Range("B75").Value = CB_Sp4.List(CB_Sp4.ListIndex, 0)
Sheets(SPTag).Range("I75").Value = CB_Sp4.List(CB_Sp4.ListIndex, 1)
Sheets(SPTag).Range("H75").Value = CB_Sp4.List(CB_Sp4.ListIndex, 2)
ActiveWorkbook.Save
End Sub


Private Sub CB_Sp5_Change()
SPTag = Sheets("DKB").Cells(1, 53).Value
Sheets(SPTag).Range("B80").Value = CB_Sp5.List(CB_Sp5.ListIndex, 0)
Sheets(SPTag).Range("I80").Value = CB_Sp5.List(CB_Sp5.ListIndex, 1)
Sheets(SPTag).Range("H80").Value = CB_Sp5.List(CB_Sp5.ListIndex, 2)
ActiveWorkbook.Save
End Sub


Private Sub CB_Sp6_Change()
SPTag = Sheets("DKB").Cells(1, 53).Value
Sheets(SPTag).Range("B85").Value = CB_Sp6.List(CB_Sp6.ListIndex, 0)
Sheets(SPTag).Range("I85").Value = CB_Sp6.List(CB_Sp6.ListIndex, 1)
Sheets(SPTag).Range("H85").Value = CB_Sp6.List(CB_Sp6.ListIndex, 2)
ActiveWorkbook.Save
End Sub


Private Sub CB_Sp7_Change()
SPTag = Sheets("DKB").Cells(1, 53).Value
Sheets(SPTag).Range("B90").Value = CB_Sp7.List(CB_Sp7.ListIndex, 0)
Sheets(SPTag).Range("I90").Value = CB_Sp7.List(CB_Sp7.ListIndex, 1)
Sheets(SPTag).Range("H90").Value = CB_Sp7.List(CB_Sp7.ListIndex, 2)
ActiveWorkbook.Save
End Sub


Private Sub CB_Sp8_Change()
SPTag = Sheets("DKB").Cells(1, 53).Value
Sheets(SPTag).Range("B95").Value = CB_Sp8.List(CB_Sp8.ListIndex, 0)
Sheets(SPTag).Range("I95").Value = CB_Sp8.List(CB_Sp8.ListIndex, 1)
Sheets(SPTag).Range("H95").Value = CB_Sp8.List(CB_Sp8.ListIndex, 2)
ActiveWorkbook.Save
End Sub


Private Sub OKBut_Click()
Unload Me
End Sub

Habe nun aber das Problem das das füllen mit den Standardwerten als Änderung des Feldes erkannt wird und somit die Routine :"

Private Sub CB_Sp)1-8)_Change()"
in Aktion tritt und meine Werte überschreibt,
Diese Routinen "

Private Sub CB_Sp(1-8)_Change()" sollten aber nur aktiv werden wenn wirklich die ComboBox geändert wird (manuell).
Hat hierzu jemand eine Lösung ?
Danke
Peter

		
Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: User-Form ComboBoxen füllen ohne Änderung
Petro
Danke,
hat sich erledigt.
Habe mal wieder zu umständlich gedacht, mit
Private Sub CB_Sp(1-8)_Click()"
geht's.
Peter
Anzeige
;

Forumthreads zu verwandten Themen

Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige