Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
476to480
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
476to480
476to480
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

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

		

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

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige