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

Forumthread: VBA Abfrage mit MsgBox

VBA Abfrage mit MsgBox
24.06.2021 17:41:29
Marko
Hallo,
wie kann ich mit einem Makro folgende Abfrage darstellen?
Wenn der Wert in Zelle E13 größer als in Zelle B7 ist, dann soll sich eine MsgBox öffnen mit einer yes/no Abfrage.
Wenn yes, dann speichern, wenn nein dann Wert in Zelle E13 löschen.
Wenn der Wert in Zelle E13 kleiner oder gleich ist als in Zelle B7, dann soll nichts gemacht werden.
Vielen Dank für Eure Unterstützung.
Gruß Marko
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Abfrage mit MsgBox
24.06.2021 18:21:20
ralf_b
evtl so?

Sub vergleich()
If [E13] > [B7] Then
If vbNo = MsgBox("Speichern", vbExclamation + vbYesNo + vbDefaultButton1) Then [E13].ClearContents
End If
End Sub

Dankeschön
24.06.2021 18:32:44
Marko
Hallo Ralf,
genau so! Vielen Dank.
Gruß Marko
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

VBA Abfrage mit MsgBox in Excel erstellen


Schritt-für-Schritt-Anleitung

Um eine VBA Abfrage mit einer MsgBox in Excel zu erstellen, folge diesen Schritten:

  1. Öffne den VBA-Editor: Drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Erstelle ein neues Modul: Klicke im Menü auf Einfügen und wähle Modul.

  3. Füge den folgenden Code ein:

    Sub vergleich()
       If [E13] > [B7] Then
           If vbNo = MsgBox("Speichern?", vbExclamation + vbYesNo + vbDefaultButton1) Then
               [E13].ClearContents
           End If
       End If
    End Sub
  4. Speichere deine Arbeit: Schließe den VBA-Editor und speichere die Excel-Datei als Makro-fähige Arbeitsmappe (*.xlsm).

  5. Führe das Makro aus: Du kannst das Makro über das Menü Entwicklertools > Makros oder durch Drücken von ALT + F8 ausführen.


Häufige Fehler und Lösungen

  • Fehler: "Objekt erforderlich": Dieser Fehler tritt auf, wenn die Zellen E13 oder B7 nicht korrekt referenziert sind. Stelle sicher, dass die Zellen existieren und die Werte korrekt eingegeben sind.

  • Fehler: MsgBox wird nicht angezeigt: Überprüfe, ob das Makro korrekt ausgeführt wird und dass die Bedingung für die MsgBox erfüllt ist (d.h., der Wert in E13 ist größer als in B7).


Alternative Methoden

Wenn du eine Abfrage ohne VBA erstellen möchtest, kannst du die WENN-Funktion in Excel verwenden, um ähnliche Ergebnisse zu erzielen. Ein Beispiel für die Verwendung von WENN in Zelle F13 wäre:

=WENN(E13>B7; "Speichern?"; "")

Diese Formel zeigt "Speichern?" an, wenn der Wert in E13 größer als der in B7 ist. Allerdings bietet diese Methode nicht die gleiche Interaktivität wie eine MsgBox.


Praktische Beispiele

Hier sind einige praktische Anwendungsbeispiele:

  • Beispiel für eine MsgBox mit Text: Du kannst den Text in der MsgBox anpassen, um spezifischere Informationen anzuzeigen.

    MsgBox "Möchten Sie den Wert speichern?", vbExclamation + vbYesNo
  • Verwendung des Modalwerts: Wenn du den häufigsten Text in einem Bereich ermitteln möchtest, kannst du den MODALWERT in Kombination mit VBA verwenden, um dynamische Abfragen zu erstellen.


Tipps für Profis

  • InputBox für Eingaben: Verwende InputBox, um Benutzereingaben zu erhalten, bevor du die MsgBox anzeigst. Beispiel:

    Dim userInput As String
    userInput = InputBox("Gib einen Wert ein:")
  • Verwende vbMsgBoxStyle: Du kannst die MsgBox mit verschiedenen Stilen anpassen, um die Benutzerfreundlichkeit zu verbessern. Zum Beispiel:

    MsgBox "Was möchtest du tun?", vbYesNo + vbQuestion, "Auswahl"

FAQ: Häufige Fragen

1. Wie kann ich die MsgBox anpassen?
Du kannst den Text der MsgBox und die Schaltflächen anpassen, indem du die Parameter in der MsgBox-Funktion änderst.

2. Funktioniert dies in jeder Excel-Version?
Ja, dieser VBA-Code sollte in allen modernen Excel-Versionen funktionieren, die VBA unterstützen. Achte jedoch darauf, dass die Makros aktiviert sind.

3. Was kann ich tun, wenn ich keine VBA-Erfahrung habe?
Es gibt viele Ressourcen und Tutorials online, die dir helfen können, die Grundlagen von VBA zu lernen. Beginne mit einfachen Makros und arbeite dich zu komplexeren Abfragen vor.

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