Microsoft Excel

Herbers Excel/VBA-Archiv

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

Modul durch Commandbutton starten

Betrifft: Modul durch Commandbutton starten von: Herr Vorragend
Geschrieben am: 23.09.2020 14:46:44

Hallo,


ich möchte gerne durch einen Klick auf einen CommandButton alle Anwesiungen aufführen, die ich in meine Userform eingepflegt habe. Allerdings schaffe ich es nicht, dass durch den Klick ein anderes Modul gestartet wird. Wenn ich den Befehl "Call Modul1" in meine Userform unter "Sub CommandButton1_Click()" schreibe, bekomme ich die Fehlermeldung "Prozedur oder Variable anstelle eines Moduls erwartet". Wer kann mir da weiterhelfen?


Danke und Gruß


Private Sub CommandButton1_Click()
'Eingaben aus Userform sollen übernommen werden

'Abfrage der Checkboxen 
If meinFormular.Auswahl.Value = True Then
Sheets("Grunddaten").Range("Technischer_Support").Value = 1
End If

Call Modul1

'Eingabefenster schließen 
Worksheets("Grunddaten").Activate
Unload meinFormular

End Sub

Betrifft: AW: Modul durch Commandbutton starten
von: Rudi Maintaire
Geschrieben am: 23.09.2020 14:53:14

Hallo,
du musst für jede Prozedur in Modul1 einen eigenen Aufruf erstellen.

Gruß
Rudi

Betrifft: Modul1 ist keine Prozedur
von: NoNet
Geschrieben am: 23.09.2020 14:57:49

Hallo Herr V.,

standardmäßig versteht man unter Modul1 ja keine einzelne Prozedur, sondern ein "Container" (bzw. eine Sammlung) für eine oder mehrere zusammengehörige Prozeduren/Funktionen. Der Aufruf per Call IrgendEineProzedur erwartet, dass IrgendEineProzedur eine einzelne Prozedur und kein Modul ist !

Wenn Dein Modul1 also z.B. folgende Prozeduren enthält :
-

Sub IrgendEineProzedur() 
'...
End Sub
-

Sub EineAndereProzedur() 
'...
End Sub
-

Sub Test() 
'...
End Sub


Dann musst Du diese einzeln aufrufen :
Call IrgendEineProzedur
Call EineAndereProzedur

Salut, NoNet

Betrifft: AW: Modul1 ist keine Prozedur
von: Herr Vorragend
Geschrieben am: 23.09.2020 15:06:23

Entschuldigung, ich meine auch nicht Modul, sondern eine Prozedur. Da hab ich mich missverstä _ ndlich ausgedrückt. So sieht mein
Sub aus:

Sub Modul1()

For i = 4 To 148
If Sheets("Grunddaten").Cells(135, i).Value = 0 Then
Sheets("Grunddaten").Cells(135, i).EntireColumn.Hidden = True
End If

If Sheets("Grunddaten").Cells(135, i).Value = 1 Then
Sheets("Grunddaten").Cells(135, i).EntireColumn.Hidden = False
End If
Next

End Sub


Betrifft: AW: Modul1 ist keine Prozedur
von: Rudi Maintaire
Geschrieben am: 23.09.2020 15:09:45

dann musst du das Modul 'Modul1' umbenennen.

Betrifft: AW: Modul1 ist keine Prozedur
von: Herr Vorragend
Geschrieben am: 23.09.2020 15:13:50

Ach Danke! Jetzt geht es. Ist ja auch blöd von mir, Modul und Sub gleich zu benennen.

Danke und Gruß

Betrifft: AW: Modul durch Commandbutton starten
von: Nepumuk
Geschrieben am: 23.09.2020 15:14:34

Hallo,

eine Prozedur darf nicht den Namen eines Moduls haben. Versuch es so:

Public Sub EinAusblenden()
    Dim i As Long
    With Worksheets("Grunddaten")
        For i = 4 To 148
            If .Cells(135, i).Value = 0 Then
                .Cells(135, i).EntireColumn.Hidden = True
            ElseIf .Cells(135, i).Value = 1 Then
                .Cells(135, i).EntireColumn.Hidden = False
            End If
        Next
    End With
End Sub

Gruß
Nepumuk

Beiträge aus dem Excel-Forum zum Thema "Modul durch Commandbutton starten"