Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Zwei unterschiedliche Makros einem Button zuordnen

Forumthread: Zwei unterschiedliche Makros einem Button zuordnen

Zwei unterschiedliche Makros einem Button zuordnen
emem2404
Hallo,
ich habe zwei unterschiedliche Makros, die ich in einem Formular beim Klick auf einen Button ausführen möchte, derzeit geschieht dies über zwei verschiedene Buttons.
Ich würde jedoch gerne nur einen Button betätigen müssen und aufgrund einem eingegebenen Wert in einer bestimmten Zelle (Ja oder Nein) wird entweder das "Ja"-Makro oder das "Nein"-Makro ausgeführt.
Wie kann ich das erreichen?
Hilft vielleicht ein drittes Makro und wenn ja wie steuere ich in einem Makro zwei andere Makros an?
Oder gibt es eine ganz einfache Lösung?
Danke für Eure Tipps!
Gruß
MARTIN
Anzeige
AW: Zwei unterschiedliche Makros einem Button zuordnen
21.05.2010 20:52:29
MichaV
Hallo,
CALL- Befehl.
Sub xxx()
if range("a1")="ja" then call makro1
if range("a1")="nein" then call makro2
End Sub
Das CALL kannst Du sogar weglassen.
Gruss- Micha
AW: Zwei unterschiedliche Makros einem Button zuordnen
21.05.2010 21:34:03
emem2404
Das ist ja total einfach!
Vielen Dank dafür!!!
Muss ich alle drei Makros dazu in ein Modul stellen oder können die vereinzelt bleiben?
Gruß
MARTIN
Anzeige
AW: Zwei unterschiedliche Makros einem Button zuordnen
21.05.2010 21:47:51
MichaV
Muss ja nicht alles schwierig sein ;o)
Solange nicht PRIVATE davor steht können sie vereinzelt bleiben.
Gruss- Micha
AW: Zwei unterschiedliche Makros einem Button zuordnen
21.05.2010 21:53:34
Martin
Super,
das hat geklappt!!!
Merci!
AW: Zwei unterschiedliche Makros einem Button zuordnen
21.05.2010 22:02:31
MichaV
und wer bist Du auf einmal?
Naja, egal. Freut mich das es geklappt hat. Viel Spasz noch!
Anzeige
AW: Zwei unterschiedliche Makros einem Button zuordnen
21.05.2010 22:21:33
Martin
emem24
Ich heiße Martin - Warum manchmal mein Alias und manchmal mein Vorname hier steht, weiß ich auch nicht!
Gruß
MARTIN
AW: Zwei unterschiedliche Makros einem Button zuordnen
22.05.2010 20:58:01
Martin
Habe das Makro nun eingebaut und einem Butten zugewiesen
Leider erhalte ich die Fehlermeldung:
"Fehler beim Kompilieren -

Sub oder 

Function nicht definiert"
Was habe ich falsch gemacht?
Wenn in Zelle C17 "ja" steht soll beim Klick auf den Button das Makro "erstenTagSenden"  _
ablaufen, wenn in der Zelle "nein" steht soll beim Klick auf den Button das Makro "Senden" ablaufen.

Sub Makroauswahl()
' Makroauswahl Makro
If Range("C17") = "ja" Then Makro erstenTagSenden
If Range("C17") = "nein" Then Makro Senden
End Sub
Dachte eigentlich dass ich alles richtig gemacht habe. Habe mich aber mal wieder getäuscht!
Danke für Tipps oder Hilfe!
Gruß
MARTIN
Anzeige
AW: Zwei unterschiedliche Makros einem Button zuordnen
22.05.2010 22:17:05
MichaV
mach mal so:
If Range("C17") = "ja" Then erstenTagSenden
If Range("C17") = "nein" Then Senden
Gruss- Micha
AW: Zwei unterschiedliche Makros einem Button zuordnen
22.05.2010 22:32:46
MichaV
aaaargh, Du hast die Frage oben ja nochmal gestellt. Beim nächsten mal sag dann bitte Bescheid dass sich das Problem erledigt hat, dann muss man nicht sinnlos antworten.
Schöne Pfingsten.
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Zwei unterschiedliche Makros einem Button zuordnen


Schritt-für-Schritt-Anleitung

Um mehrere Makros mit einem Button auszuführen, kannst du die folgenden Schritte befolgen:

  1. Öffne den Visual Basic for Applications (VBA) Editor:

    • Drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Erstelle ein neues Modul:

    • Klicke mit der rechten Maustaste auf dein Projekt im Projekt-Explorer, wähle Einfügen und dann Modul.
  3. Füge das Hauptmakro ein:

    • Kopiere den folgenden Code in das Modul:
    Sub Makroauswahl()
       If Range("C17").Value = "ja" Then
           Call erstenTagSenden
       ElseIf Range("C17").Value = "nein" Then
           Call Senden
       End If
    End Sub

    In diesem Makro wird überprüft, ob in der Zelle C17 "ja" oder "nein" steht und dann das entsprechende Makro aufgerufen.

  4. Verknüpfe das Makro mit einem Button:

    • Gehe zurück zu deinem Excel-Blatt, füge einen Button ein (über Entwicklertools > Einfügen > Button).
    • Wähle das Makroauswahl-Makro aus, wenn du dazu aufgefordert wirst.
  5. Testen:

    • Gib "ja" oder "nein" in die Zelle C17 ein und klicke auf den Button, um die Funktionalität zu testen.

Häufige Fehler und Lösungen

  • Fehlermeldung: "Sub oder Function nicht definiert":

    • Dieser Fehler tritt auf, wenn das aufgerufene Makro nicht gefunden wird. Stelle sicher, dass die Makros erstenTagSenden und Senden korrekt definiert sind.
  • Fehlerhafte Syntax:

    • Achte darauf, dass du bei der Verwendung des Call-Befehls die richtigen Namen der Makros verwendest. Die korrekte Syntax lautet:
    Call MakroName

    oder einfach:

    MakroName

Alternative Methoden

Eine alternative Methode könnte sein, die Excel-Formeln zu verwenden, um die Logik zu steuern, anstatt Makros. Zum Beispiel könntest du eine Wenn-Dann-Funktion in einer Zelle verwenden, um eine bestimmte Aktion auszulösen, ohne VBA zu nutzen.


Praktische Beispiele

Hier ist ein Beispiel für die Definition der beiden Makros, die im Hauptmakro aufgerufen werden:

Sub erstenTagSenden()
    MsgBox "Das erste Makro wurde ausgeführt!"
End Sub

Sub Senden()
    MsgBox "Das zweite Makro wurde ausgeführt!"
End Sub

So kannst du einfach überprüfen, ob die Makros wie gewünscht funktionieren, wenn du auf den Button klickst.


Tipps für Profis

  • Fehlerbehandlung: Füge Fehlerbehandlungsroutinen in deine Makros ein, um sicherzustellen, dass sie robust sind und bei unerwarteten Eingaben nicht abstürzen.

  • Modularität: Halte deine Makros modular, indem du sie in verschiedene Module unterteilst, um die Wartbarkeit zu verbessern.

  • Dokumentation: Kommentiere deinen Code gründlich, damit du und andere Benutzer in der Zukunft leichter verstehen, was der Code tut.


FAQ: Häufige Fragen

1. Kann ich mehrere Makros mit einem Button ausführen?
Ja, du kannst mehrere Makros mit einem Button ausführen, indem du ein Hauptmakro erstellst, das die anderen Makros basierend auf Bedingungen aufruft.

2. Wo sollten die Makros gespeichert werden?
Du kannst die Makros in einem Modul im VBA-Editor speichern. Sie müssen nicht alle in einem Modul sein, solange sie nicht als Private deklariert sind.

3. Was kann ich tun, wenn mein Makro nicht funktioniert?
Überprüfe die Syntax und stelle sicher, dass alle aufgerufenen Makros korrekt definiert sind. Verwende den Debugger im VBA-Editor, um Fehler zu identifizieren.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige