Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema CheckBox
BildScreenshot zu CheckBox CheckBox-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema CommandButton
BildScreenshot zu CommandButton CommandButton-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema Userform
BildScreenshot zu Userform Userform-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema Label
BildScreenshot zu Label Label-Seite mit Beispielarbeitsmappe aufrufen

UserForm an Funktion geben


Betrifft: UserForm an Funktion geben von: Max2
Geschrieben am: 24.04.2017 09:08:35

Hallo Leute,

ich habe 5 UserFormen, nun habe ich mir ein paar kleine Funktionen erstellt,
die bestimmte Settings für die Control Objekte auf der UserForm handeln sollen.

Beispielsweiße Hintergrundfarbe usw.

Nun spreche ich bis Dato in den Funktionen immer UserForm1 an.

Wie kann ich die UserForm beim Aufruf der Funktion übergeben?
Mit Me. hat es nämlich nicht geklappt, da hat er immer die UserForm1 genommen.

  

Betrifft: AW: UserForm an Funktion geben von: yummi
Geschrieben am: 24.04.2017 09:36:23

lad mal deine datei hoch


  

Betrifft: Hat sich erledigt, trotzdem danke von: Max2
Geschrieben am: 24.04.2017 09:45:07

Hallo,

stand ein bisschen auf dem Schlauch...

Habe es jetzt so gemacht:

Ich übergebe "Me" an die Funktionen welche alle die Variable "ufToChange As MSForms.UserForm" besitzen.

Private Sub UserForm_Initialize()

Call Main_Controls(Me)

End Sub


Option Explicit


Sub Main_Controls(ByVal ufToChange As MSForms.UserForm)

'Main Prozedur des Moduls "Control_Settings"

Application.ScreenUpdating = False

    On Error Resume Next

    Call Label_Settings(ufToChange)
    Call Spacer_Label_Settings(ufToChange)
    Call Check_Settings(ufToChange)
    Call Button_Settings(ufToChange)
    
Application.ScreenUpdating = True

End Sub

Function Label_Settings(ByVal ufToChange As MSForms.UserForm)
Dim ctl

'Wir loopen durch unsere Controls um jedem Label mit
'dem Namen "Label" eine Farbe zu zuweisen und eine
'Schriftgröße

    On Error Resume Next
    
    For Each ctl In ufToChange.Controls
        If TypeName(ctl) = "Label" Then
            ctl.BackColor = myColor
            ctl.ForeColor = myWhite
            ctl.FontSize = 8
        End If
    Next ctl

End Function


Function Spacer_Label_Settings(ByVal ufToChange As MSForms.UserForm)
Dim ctl

'Wir loopen durch unsere Controls um jedem Label mit
'dem Namen "Spacer" eine Farbe zu zuweisen

    On Error Resume Next
    
    For Each ctl In ufToChange.Controls
        If Left(ctl.name, 6) = "Spacer" Then
            ctl.BackColor = myWhite
        End If
    Next ctl

End Function


Function Check_Settings(ByVal ufToChange As MSForms.UserForm)
Dim ctl

'Wir loopen durch unsere Controls um jede CheckBox
'eine Farbe zu geben

    On Error Resume Next
    
    For Each ctl In ufToChange.Controls
        If TypeName(ctl) = "CheckBox" Then
            ctl.BackColor = myColor
            ctl.ForeColor = myWhite
        End If
    Next ctl

End Function


Function Button_Settings(ByVal ufToChange As MSForms.UserForm)
Dim ctl

'Wir loopen durch unsere Controls um jedem Button
'eine Farbe zu zuweisen
    
    On Error Resume Next
    
    For Each ctl In ufToChange.Controls
        If TypeName(ctl) = "CommandButton" Then
            ctl.BackColor = myColor_2
            ctl.ForeColor = myWhite
        End If
    Next ctl
    
End Function





Beiträge aus den Excel-Beispielen zum Thema "UserForm an Funktion geben "