Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Modul über CommandButton ausführen

Forumthread: Modul über CommandButton ausführen

Modul über CommandButton ausführen
23.03.2015 12:32:36
Matthias
Hallo,
ich würde gerne aus einer Userform über einen CommandButton ein Modul ausführen wollen.
Ich hätte es hierzu so versucht.
Private Sub CommandButton22_Click()
Call Sortieren
End Sub
Leider bekomme ich immer den Fehler:
Fehler beim Komelieren
Variable oder Prozedur anstelle eines Moduls erwartet.
Das Modul geht aber wenn ich es über einen normalen Formularsteuerbutton ausführe.
Was ist hier das Problem?

Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Modul über CommandButton ausführen
23.03.2015 12:34:01
Hajo_Zi
Du kannst kein Modul starten nur ein Makro.

AW: Modul über CommandButton ausführen
23.03.2015 12:40:18
Matthias
Ich habe meinen Code in dem Modul abgelegt.
Sub Sortieren()
Dim rSort As Range
With ActiveWorkbook.Worksheets("Aufstellung Brandschutzklappen")
Set rSort = .Range(.Cells(16, 1), .Cells(.Rows.Count, 1).End(xlUp).Offset(, 60))
With .Sort
.SortFields.Clear
.SortFields.Add Key:=Range("B16"), _
SortOn:=xlSortOnValues, Order:=xlAscending, _
DataOption:=xlSortNormal
.SortFields.Add Key:=Range("C16"), _
SortOn:=xlSortOnValues, Order:=xlAscending, _
DataOption:=xlSortNormal
.SortFields.Add Key:=Range("D16"), _
SortOn:=xlSortOnValues, Order:=xlAscending, _
DataOption:=xlSortNormal
.SetRange rSort
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End With
End Sub
Wie kann ich aber jetzt auf dieses Makro zugreifen wenn es im Modul isT?

Anzeige
AW: Modul über CommandButton ausführen
23.03.2015 12:42:00
Hajo_Zi
einfach Sortieren
Ich vermute es gibt nicht 2 Makros mit dem Namen.
Gruß Hajo

AW: Modul über CommandButton ausführen
23.03.2015 12:46:48
Matthias
Hab den Fehler gefeunden.
Ich habe dem Modul einen Namen gegeben.
Den selben wie dem Makro.
Danke.

Anzeige
AW: Modul über CommandButton ausführen
23.03.2015 12:48:55
Hajo_Zi
das vermeide ich da Modul den Namen mdl_.... hat
Gruß Hajo
;
Anzeige
Anzeige

Infobox / Tutorial

Modul über CommandButton ausführen in Excel VBA


Schritt-für-Schritt-Anleitung

Um ein Modul über einen CommandButton in einer Userform auszuführen, gehe wie folgt vor:

  1. Erstelle eine Userform in deinem Excel-Projekt.

  2. Füge einen CommandButton zu deiner Userform hinzu.

  3. Öffne den VBA-Editor (Alt + F11).

  4. Füge ein Modul hinzu, falls du das noch nicht getan hast:

    • Rechtsklicke im Projekt-Explorer auf dein Projekt.
    • Wähle "Einfügen" und dann "Modul".
  5. Schreibe dein Makro im Modul. Zum Beispiel:

    Sub Sortieren()
        Dim rSort As Range
        With ActiveWorkbook.Worksheets("Aufstellung Brandschutzklappen")
            Set rSort = .Range(.Cells(16, 1), .Cells(.Rows.Count, 1).End(xlUp).Offset(, 60))
            With .Sort
                .SortFields.Clear
                .SortFields.Add Key:=Range("B16"), _
                SortOn:=xlSortOnValues, Order:=xlAscending, _
                DataOption:=xlSortNormal
                .SetRange rSort
                .Header = xlGuess
                .MatchCase = False
                .Orientation = xlTopToBottom
                .SortMethod = xlPinYin
                .Apply
            End With
        End With
    End Sub
  6. Gehe zurück zur Userform und klicke auf den CommandButton.

  7. Füge den folgenden Code in die Click-Ereignisprozedur des CommandButtons ein:

    Private Sub CommandButton22_Click()
        Call Sortieren
    End Sub
  8. Teste die Userform, um sicherzustellen, dass das Makro korrekt aufgerufen wird.


Häufige Fehler und Lösungen

  • Fehler: Variable oder Prozedur anstelle eines Moduls erwartet.

    • Ursache: Das Makro hat denselben Namen wie das Modul. Ändere den Namen des Moduls, um Konflikte zu vermeiden.
  • Fehler: Makro wird nicht gefunden.

    • Ursache: Stelle sicher, dass das Makro im richtigen Modul gespeichert ist und dass keine Namenskonflikte bestehen.

Alternative Methoden

Falls du Probleme mit der Verwendung des CommandButtons hast, kannst du auch andere Steuerungselemente verwenden, um dein VBA-Modul auszuführen. Beispielsweise:

  • Formularsteuerung: Nutze einen Formularsteuerbutton und verlinke ihn direkt mit dem Makro.
  • Tastenkombination: Weise eine Tastenkombination zu, um das Makro auszuführen, ohne die Userform zu verwenden.

Praktische Beispiele

Hier ist ein einfaches Beispiel, um zu zeigen, wie du ein Modul ausführen kannst:

Sub BeispielMakro()
    MsgBox "Das Makro wurde erfolgreich ausgeführt!"
End Sub

Füge diesen Code in dein Modul ein und rufe es über den CommandButton wie folgt auf:

Private Sub CommandButton_Click()
    Call BeispielMakro
End Sub

Tipps für Profis

  • Modulnamen: Verwende Präfixe wie mdl_ für Modulnamen, um Verwirrung mit Makronamen zu vermeiden.
  • Fehlerbehandlung: Implementiere Fehlerbehandlungsroutinen in deinen Makros, um hilfreiche Fehlermeldungen anzuzeigen.

FAQ: Häufige Fragen

1. Wie kann ich sicherstellen, dass mein Makro korrekt aufgerufen wird? Vergewissere dich, dass der Name des Makros und der Aufruf im CommandButton übereinstimmen und dass keine Namenskonflikte mit Modulen bestehen.

2. Was mache ich, wenn mein Makro nicht läuft? Überprüfe, ob das Makro im richtigen Modul gespeichert ist und ob du die richtigen Referenzen in deinem Projekt gesetzt hast.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige