Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1380to1384
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
Inhaltsverzeichnis

Durchnummerierte Userforms gemeinsam ansprechen

Durchnummerierte Userforms gemeinsam ansprechen
17.09.2014 12:05:35
Michael
Hallo,
meine letzten 2 Fragen konnte ich durch herumtüfteln und mit ein paar kleinen Hinweisen selbst lösen, aber hier fehlt mir schlichtweg das Wissen, ob so etwas überhaupt möglich ist:
Ich habe zahlreiche UFs zwischen denen ich hin und herschalten kann. Auf diesen UFs befindet sich immer der gleiche Aufbau aus Buttons, die ich nach Aufruf der UF einzeln anwählen kann (wie Togglebuttons, nur sinds halt 5 pro UF). Der Druck auf so einen Button öffnet eine weitere UF im Vordergrund. Das klappt auch alles!
Insgesamt habe ich 5 UFs mit jeweils 5 Buttons drauf und für jeden Button eine weitere UF. Für das korrekte Umschalten dieser Buttons verwende ich einen Code, wie z.B. den (wobei F4TB1 ein Button ist):

Private Sub F4TB1_Change()
If F4TB1.Value = True Then
For i = 1 To 5
If i  1 Then
Me.Controls("F4TB" & i).Value = False 'damit schalte ich alle anderen inaktiv
End If
Next
If Not UForm Is Nothing Then Unload UForm
UFF4F1.Show
Set UForm = UFF4F1
Else
Exit Sub
End If
End Sub

Die Frage ist, ob es eine Möglichkeit gibt (wie bei me.controls) auch Userforms mit "zusammengebastelten" Namen anzusprechen und mir so 25 mal den selben Code zu ersparen - z.B. über ein Klassenmodul, wo ich alle Buttons reinschmeiß. z.B. so?:
UNGETESTET!!!
KLASSENMODUL

Private Sub ButtonGroup_Change()
If "AuslösenderButton".Value = True Then
For Frame = 1 to 5
For i = 1 To 5
If i  Frame Then
Me.Controls("F" & Frame & "TB" & i).Value = False
End If
Next
If Not UForm Is Nothing Then Unload UForm
"UFF" & Frame & "F" & i.Show
Set UForm = "UFF" & Frame & "F" & i
next Frame
Else
Exit Sub
End If
End Sub

Vielleicht hat ja jemand eine Idee dazu. DANKE im Voraus und LG
Michael

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Durchnummerierte Userforms gemeinsam ansprechen
17.09.2014 16:40:08
Michael
Hallo in die Runde,
ich bin wieder ein Stück weiter. Das Klassenmodul habe ich hinbekommen! Er öffnet auch die Userforms und schaltet alle Buttons um:
Option Explicit
Public WithEvents TBGroup1 As MSForms.ToggleButton
Private Sub TBGroup1_Change()
If TBGroup1.Value = True Then
For i = 1 To 5
If i  Right(TBGroup1.Name, 1) Then
UFHauptmenue.Controls(Left(TBGroup1.Name, 4) & i).Value = False
End If
Next
If Not UForm Is Nothing Then Unload UForm
UFormName = "UFF" & Mid(TBGroup1.Name, 2, 1) & "F" & Right(TBGroup1.Name, 1)
Set UForm = UserForms.Add(UFormName)
UForm.Show
Else
Exit Sub
End If
End Sub

ABER: aus irgendeinem Grund startet er bei der ausgewählten UF das Initialize-Ereignis jetzt 2 Mal und öffnet 2 Mal die gleiche UF. Habt ihr eine Idee warum?
LG und DANKE
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige