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

Forumthread: Msgbox in Makro "unterdrücken"

Msgbox in Makro "unterdrücken"
26.01.2018 13:17:51
Bernd
Servus zusammen,
ich habe eine Excel-Datei (ich nenne sie mal Zieldatei), die mir beim Öffnen die Grunddaten aus mehreren anderen Rohdatendateien zusammenkopiert. Das funktioniert soweit ganz gut, jetzt aber das Problem(chen).
Die Rohdatendateien sind alle mit einem Berechtigungskonzept ausgestattet, das jedem Mitarbeiter beim Öffnen seine jeweilige Berechtigung per MsgBox anzeigt.
Das ist gewollt und kann leider nicht deaktiviert werden.
Wenn der Mitarbeiter aber die die Zieldatei öffnet und das Makro die Grunddaten aus jeder Rohdatei zieht, wird jeweils immer diese MsgBox angezeigt.
Da es sich um rund 20 Rohdateien handelt ist es sehr nervig 20x die MsgBox bestätigen zu müssen. Kann man das ggf. umgehen?
Danke und Grüße, Bernd
Anzeige

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

Betreff
Datum
Anwender
Anzeige
Appplication.EnableEvents = False o.T.
26.01.2018 13:34:07
Sepp
Gruß Sepp

Danke Sepp! Funktioniert super! owt
26.01.2018 13:40:53
Bernd
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

MsgBox in Excel-Makros unterdrücken


Schritt-für-Schritt-Anleitung

Um die lästige MsgBox in Deinem Excel-Makro zu unterdrücken, kannst Du die Application.EnableEvents-Eigenschaft verwenden. Hier eine einfache Anleitung:

  1. Öffne den VBA-Editor:

    • Drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Finde Dein Makro:

    • Navigiere im Projekt-Explorer zu Deinem Makro, das die Grunddaten aus den Rohdatendateien kopiert.
  3. Füge die folgenden Zeilen hinzu:

    Sub MeinMakro()
       Application.EnableEvents = False ' Deaktiviere Ereignisse
    
       ' Dein Code zum Kopieren der Grunddaten
    
       Application.EnableEvents = True ' Aktiviere Ereignisse wieder
    End Sub
  4. Speichere und teste das Makro:

    • Speichere die Änderungen und führe das Makro aus, um zu überprüfen, ob die MsgBox nicht mehr angezeigt wird.

Häufige Fehler und Lösungen

  • Fehler: MsgBox wird trotzdem angezeigt

    • Stelle sicher, dass Application.EnableEvents = False vor dem Code platziert ist, der die Daten kopiert.
  • Fehler: Makro funktioniert nicht wie erwartet

    • Überprüfe, ob es andere MsgBoxen in Deinem Code gibt, die nicht mit dem EnableEvents-Befehl zusammenhängen.

Alternative Methoden

Wenn die oben genannte Methode nicht funktioniert, gibt es alternative Ansätze:

  1. Verwendung von On Error Resume Next:

    On Error Resume Next
    ' Dein Code hier
    On Error GoTo 0

    Diese Methode ignoriert Fehler, die durch MsgBoxen ausgelöst werden könnten.

  2. Daten ohne Makro importieren:

    • Du kannst auch Daten manuell importieren oder andere Tools verwenden, um die Daten zu konsolidieren, ohne das Makro auszuführen.

Praktische Beispiele

Hier ist ein praktisches Beispiel, das zeigt, wie Du die MsgBox in einem Makro unterdrücken kannst:

Sub DatenKopieren()
    Dim wb As Workbook
    Dim ws As Worksheet

    Application.EnableEvents = False

    For Each wb In Workbooks
        ' Daten kopieren von wb
        ' ...
    Next wb

    Application.EnableEvents = True
End Sub

In diesem Beispiel wird die MsgBox unterdrückt, während die Daten kopiert werden.


Tipps für Profis

  • Vorbereitung der Rohdaten: Stelle sicher, dass alle Rohdaten-Dateien korrekt formatiert sind, um Fehler während des Kopierens zu vermeiden.
  • Debugging: Nutze die Debug.Print-Funktion, um den Fortschritt Deines Makros zu überwachen, ohne das Excel-Fenster zu stören.
  • Makros optimieren: Reduziere die Anzahl der durchgeführten Aktionen innerhalb der Schleifen, um die Leistung Deines Makros zu verbessern.

FAQ: Häufige Fragen

1. Was passiert, wenn ich Application.EnableEvents = False vergesse? Wenn Du es vergisst, wird die MsgBox weiterhin angezeigt, was den Ablauf Deines Makros stören kann.

2. Kann ich diese Methode auch in Excel Online verwenden? Die Verwendung von VBA und Makros ist in Excel Online nicht möglich, diese Lösungen gelten nur für Desktop-Versionen von Excel.

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