Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
808to812
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
808to812
808to812
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Combobox-Problem

Combobox-Problem
17.10.2006 16:35:58
Kati
Hallo Gemeinde,
wie kann ich den Code vereinfachen?

Private Sub cbxVermoegenPerson1_AfterUpdate()
Dim obj As Object
If EbgVermoegen.cbxVermoegenPerson1 = "BV/EHB" Then
EbgVermoegen.frmVermoegenPerson2.Visible = True
EbgVermoegen.cbxVermoegenPerson2.AddItem "PTR"
EbgVermoegen.cbxVermoegenPerson2.AddItem "MUK"
For Each obj In EbgVermoegen.Controls
If Left(TypeName(obj), 5) = "FrameEHB" Then
obj.Visible = True
End If
Next obj
End If
If EbgVermoegen.cbxVermoegenPerson1 = "PTR" Then
EbgVermoegen.frmVermoegenPerson2.Visible = True
EbgVermoegen.cbxVermoegenPerson2.AddItem "BV/EHB"
EbgVermoegen.cbxVermoegenPerson2.AddItem "MUK"
For Each obj In EbgVermoegen.Controls
If Left(TypeName(obj), 5) = "FramePTR" Then
obj.Visible = True
End If
Next obj
End If
If EbgVermoegen.cbxVermoegenPerson1 = "MUK" Then
EbgVermoegen.frmVermoegenPerson2.Visible = True
EbgVermoegen.cbxVermoegenPerson2.AddItem "BV/EHB"
EbgVermoegen.cbxVermoegenPerson2.AddItem "PTR"
For Each obj In EbgVermoegen.Controls
If Left(TypeName(obj), 5) = "FrameMUK" Then
obj.Visible = True
End If
Next obj
End If
End Sub

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Combobox-Problem
17.10.2006 17:11:10
Peter
Hallo Kati,
ich fürchte, so sehr viel kannst du hier nicht vereinfachen.
Sieh dir meine Version an, kürzer ist die auch nicht.

Private Sub cbxVermoegenPerson1_AfterUpdate()
Dim obj    As Object
Dim sName  As String
Select Case EbgVermoegen.cbxVermoegenPerson1
Case "BV/EHB"
sName = "EHB"
EbgVermoegen.cbxVermoegenPerson2.AddItem "PTR"
EbgVermoegen.cbxVermoegenPerson2.AddItem "MUK"
GoSub Einheitlich
Case "PTR"
sName = "PTR"
EbgVermoegen.cbxVermoegenPerson2.AddItem "BV/EHB"
EbgVermoegen.cbxVermoegenPerson2.AddItem "MUK"
GoSub Einheitlich
Case "MUK"
sName = "MUK"
EbgVermoegen.cbxVermoegenPerson2.AddItem "BV/EHB"
EbgVermoegen.cbxVermoegenPerson2.AddItem "PTR"
GoSub Einheitlich
End Select
Exit Sub
Einheitlich:
EbgVermoegen.frmVermoegenPerson2.Visible = True
For Each obj In EbgVermoegen.Controls
If Left(TypeName(obj), 5) = "Frame" & sName Then
obj.Visible = True
End If
Next obj
Return
End Sub

Viele Grüße Peter
Eine kurze Nachricht, ob es läuft, wäre nett - danke.
Anzeige
AW: Combobox-Problem
17.10.2006 17:58:33
Kati
Das geht dem Grunde nach auch. Nur leider hab ich das Problem, dass er beim Wechsel der ersten Combobox die zweite nicht wirklich aktualisiert. Er hat dann noch immer die vorhergehenden Daten gespeichert.
Kann man das noch lösen?
AW: Combobox-Problem
17.10.2006 20:49:28
Kati
Ich hab das Problem wiefolgt gelöst:

Private Sub cbxVermoegenPerson1_Change()
Dim obj As Object
If EbgVermoegen.cbxVermoegenPerson1 = "BV/EHB" Then
EbgVermoegen.cbxVermoegenPerson2.Clear
EbgVermoegen.frmVermoegenPerson2.Visible = True
EbgVermoegen.cbxVermoegenPerson2.AddItem "PTR"
EbgVermoegen.cbxVermoegenPerson2.AddItem "MuK"
For Each obj In EbgVermoegen.Controls
If Left(TypeName(obj), 5) = "FrameEHB" Then
obj.Visible = True
End If
Next obj
End If
If EbgVermoegen.cbxVermoegenPerson1 = "PTR" Then
EbgVermoegen.cbxVermoegenPerson2.Clear
EbgVermoegen.frmVermoegenPerson2.Visible = True
EbgVermoegen.cbxVermoegenPerson2.AddItem "BV/EHB"
EbgVermoegen.cbxVermoegenPerson2.AddItem "MuK"
For Each obj In EbgVermoegen.Controls
If Left(TypeName(obj), 5) = "FramePTR" Then
obj.Visible = True
End If
Next obj
End If
If EbgVermoegen.cbxVermoegenPerson1 = "MuK" Then
EbgVermoegen.cbxVermoegenPerson2.Clear
CheckBoxVermögen1.Visible = True
EbgVermoegen.frmVermoegenPerson2.Visible = True
EbgVermoegen.cbxVermoegenPerson2.AddItem "BV/EHB"
EbgVermoegen.cbxVermoegenPerson2.AddItem "PTR"
For Each obj In EbgVermoegen.Controls
If Left(TypeName(obj), 5) = "FrameMUK" Then
obj.Visible = True
End If
Next obj
End If
End Sub

Hierbei hab ich ganz einfach die Lösung mit clear gelöst.
Gruß Kati
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige