Eine Excel-Makro Alle außer dem aktiven Arbeitsblatt zu löschen

Manchmal können Sie alle, aber die aktive Arbeitsblatt in einer Excel-Arbeitsmappe löschen möchten. In diesen Situationen können Sie das folgende Makro verwenden.

Wie die Makro funktioniert

Das Makro hier eine Schleife durch den Arbeitsblättern, jedes Arbeitsblatt Namen in das aktive Blatt den Namen übereinstimmen. Jedes Mal, wenn die Makro-Schleifen, löscht er alle unerreichte Arbeitsblatt. Beachten Sie die Verwendung der Eigenschaft Display in Schritt 4. Diese effektiv ausschaltet Warnungen Excel, so dass Sie sich nicht löschen bestätigen müssen.

Sub Macro1 () 'Schritt 1: Erklären Sie Ihre variablesDim ws Als Worksheet'Step 2: Starten Sie durch alle worksheetsFor Looping Jede ws In ThisWorkbook.Worksheets'Step 3: Überprüfen Sie jedes Arbeitsblatt nameif ws.Name lt;> ThisWorkbook.ActiveSheet.Name Then'Step 4: Schalten Sie Warnungen und deleteApplication.DisplayAlerts = Falsews.DeleteApplication.DisplayAlerts = TrueEnd If'Step 5: Loop zum nächsten worksheetNext wsEnd Sub

Das Makro zunächst erklärt, ein Objekt namens ws. Dieser Schritt erstellt einen Speicherbehälter für jedes Arbeitsblatt es Schleifen durch.

In Schritt 2 beginnt die Makro-Schleife, erzählt Excel wird es alle Arbeitsblätter in dieser Arbeitsmappe zu bewerten. Es gibt einen Unterschied zwischen Diesearbeitsmappe und Active. Das Objekt Thisworkbook bezieht sich auf die Arbeitsmappe, die den Code enthält. Das Active Objekt bezieht sich auf die derzeit aktiven Arbeitsmappe. Sie kehren oft das gleiche Objekt, aber wenn die Arbeitsmappe den Code ausgeführt wird nicht die aktive Arbeitsmappe ist, kehren sie verschiedene Objekte. In diesem Fall wollen Sie nicht Blätter in anderen Arbeitsmappen zu riskieren, zu löschen, so dass Sie verwenden Thisworkbook.

In Schritt 3 vergleicht das Makro einfach das aktive Blatt Namen auf das Blatt, die derzeit durchgeschleift wird.

In Schritt 4, wenn die Blattnamen unterschiedlich sind, löscht das Makro das Blatt. Wie bereits erwähnt, verwenden Sie Displayalerts keine Bestätigung Schecks von Excel zu unterdrücken. Wenn Sie vor dem Löschen der Blätter gewarnt werden möchten, können Sie Application weglassen. Displayalerts = False. die Displayalerts-Anweisung Weglassen wird sichergestellt, dass Sie die Meldung angezeigt bekommen, so dass Sie von der Entscheidung, Arbeitsblätter zu löschen, um wieder heraus.

In Schritt 5 zurück, um die Makro-Schleifen das nächste Blatt zu bekommen. Nachdem alle Blätter ausgewertet werden, die Makro Enden.

Lassen Sie das Display & # 173-Alerts Erklärung Warnmeldungen zu sehen.
Lassen Sie die Anzeige # 173-Alerts Erklärung Warnmeldungen zu sehen.

Wie das Makro zu verwenden,

Um dieses Makro implementieren, können Sie es in einem Standardmodul kopieren und einfügen:

  1. Visual Basic-Editor aktivieren, indem Sie Alt + F11 drücken.

  2. rechts, klicken Sie auf das Projekt / die Arbeitsmappe Namen im Projektfenster.

  3. Wählen Sie Einfügen-Modul.

  4. Geben oder den Code in das neu erstellte Modul einfügen.

Wenn Sie Thisworkbook anstelle von Active in einem Makro verwenden, können Sie das Makro aus dem persönlichen Makro-Arbeitsmappe nicht ausgeführt werden. Warum? Da würde Diesearbeitsmappe auf die persönliche Makro-Arbeitsmappe beziehen, nicht auf die Arbeitsmappe, an die das Makro anzuwenden.

Menü