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

Markierung für mehrere Tabellenblätter aufheben

Forumthread: Markierung für mehrere Tabellenblätter aufheben

Markierung für mehrere Tabellenblätter aufheben
22.05.2014 19:37:51
Chrissi

Hallo liebes Forum,
ich habe einen Makro, als Ergebnis sind alle Tabellen markiert. Am Ende des Makros möchte ich gerne die Markierung für alle Tabellenblätter aufheben.
Kann ich Application.Goto Reference:=Thisworkbook.worksheets.Range("A1") verwenden?
Liebe Grüße
Chrissi

Anzeige

15
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Markierung für mehrere Tabellenblätter aufheben
22.05.2014 19:41:07
Hajo_Zi
wenn Du eine Worksheets angibst, ja.

AW: Markierung für mehrere Tabellenblätter aufheben
22.05.2014 20:52:02
Chrissi
Hallo Hajo,
ich verstehe leider deine Antwort nicht.
Liebe Grüße
Chrissi

Markierung für mehrere Tabellenblätter aufheben
22.05.2014 20:56:57
Hajo_Zi
du hast nur Worksheet geschrieben, das ist kein bestimmtes, es fehlt(1)
Gruß Hajo

Anzeige
AW: Markierung für mehrere Tabellenblätter aufheben
22.05.2014 20:52:44
Daniel
HI
probiers doch aus, dann siehst du was passiert!
so wie du die Frage gestellt hast, lautet die Antwort NEIN, geht nicht.
In einer Excelmappe muss immer mindestes ein Tabellenblatt markiert und aktiv sein, von daher geht "Markierung für alle Tabellenblätter aufheben" nicht.
Gruß Daniel

Anzeige
AW: Markierung für mehrere Tabellenblätter aufheben
22.05.2014 21:09:54
Chrissi
Hallo Daniel,
habe mit dem Makrorekorder folgenden Code:
Sheets(Array("Tabelle1", "Tabelle2", "Tabelle3")).Select
Sheets("Tabelle1").Activate
Range("A1").Select
Muss ja leider jedes Tabellenblatt einzelnen nennen. Habe mal Activate versucht, erhalte aber leider einen Fehler (Kompilieren).
Application.Goto Reference:=Thisworkbook.worksheets.activate
Range("A1").select
Woran liegt das denn?
Liebe Grüße
Chrissi

Anzeige
einfach Worksheets("Tabelle1").Activate
22.05.2014 21:13:42
Matthias L
Hallo
Mit
Thisworkbook.worksheets.Activate

weiß doch Excel nicht welches Blatt aktiviert werden soll
Gruß Matthias

AW: einfach Worksheets("Tabelle1").Activate
22.05.2014 21:18:56
Chrissi
Hallo Matthias,
es sollen alle Tabellenblätter angesprochen oder aktiviert werden. Nicht nur Tabelle 1
Liebe Grüße
Chrissi

Anzeige
falsch verstanden
22.05.2014 21:24:11
Matthias L
Hallo
Da habe ich Dich falsch verstanden, sorry.
Ich dachte Du wolltest die Gruppierung der markierten Blätter wieder aufheben und Tabelle1 markieren.
Gruß Matthias

ThisWorkbook.Sheets.Select ... owT
22.05.2014 21:28:54
Matthias L

AW: einfach Worksheets("Tabelle1").Activate
22.05.2014 22:22:36
Daniel
mit Application.Goto springst du immer zu einer bestimmten Zelle.
das kann auch nicht funktionieren, weil eine VBA-Befehlszeile immer nur EINEN Befehl ausführen kann.
du versuchst hier zwei Befehle (GOTO und ACITVATE) in einer Befehlszeile unterzubringen und das geht nicht!
vielleicht noch man grundsätzlichen zum Selektiern und Aktivieren von Tabellenblättern:
1. es gibt in einer Mappe immer genau ein aktives Tabellenblatt, dh es muss immer mindestes eines aktiv sein und es können aber auch nicht mehrere aktiv sein.
mit dem Befehl: Sheets(...).Activate aktiviert man ein bestimmtes Tabellenblatt, das zuvor aktive Tabellenblatt wird deaktiviert
2. neben dem aktiven Tabellenblatt gibt es auch das oder die selektierten Blätter. Es muss in einer Mappe immer mindestesn ein Tabellenblatt selektiert sein, es können aber auch mehrere gleichzeitig selektiert sein
mit dem Befehl Sheets(...).Select selektiert man ein bestimmtes Tabellenblatt.
3. da mehrer Blätter gleichzeitig selektiert werden können (Gruppe), gibt es für den Select-Befehl zwei Varianten:
a) Sheets(...).Select oder Sheets(...).Select True
hat zur folge, dass die alte Selektion aufgehoben wird und nur das neue Blatt selektiert und damit auch gleichzeitig aktiviert wird.
b) Sheets(...)Select False
hat zur folge, dass die alte Selektion bestehen bleibt und das neu selektierte Blatt zur Gruppe hinzugefügt wird. Das Aktive Blatt wechselt nicht.
wendet man Sheets(..).Activate in eine bestehenden Gruppe an, so gilt folgendes:
- man aktiviert ein Blatt das bereits zur Gruppe gehört: die Selektion bleibt erhalten und nur das aktive Blatt wechselt
- man aktiviert ein Blatt das nicht zur Gruppe gehört: die Selektion wird aufgehoben und das neue Blatt wir aktivert und selektiert.
Gruß Daniel

Anzeige
Worksheets("Tabelle1").Select (nicht Activate) oT
22.05.2014 21:19:38
Matthias L

AW: Worksheets("Tabelle1").Select (nicht Activate) oT
22.05.2014 21:34:54
Chrissi
Hallo,
ich hab's
Sub Zelle_A1()
Dim wsh As Worksheet
For Each wsh In Sheets
wsh.Activate
Range("A1").Select
Next wsh
End Sub
Danke für euere Antworten.
Schönen Abend wünscht
Chrissi

ThisWorkbook.Worksheets.Select
22.05.2014 21:48:44
Matthias L
Hallo
Hast aber eine ganz andere Frage gestellt!
So wie es jetzt aussieht willst Dur nur in allen Tabellenblättern die Zelle A1 markiert haben.
Das ginge dann auch ohne Schleife
Sub chrissi()
ThisWorkbook.Worksheets.Select
Range("A1").Activate
End Sub
Noch ein Hinweis!
Deine Vorgehensweise ist falsch, Chrissi
Sollte sich mal z.B. ein Diagramm im Workbook befinden, läuft VBA auf einen Fehler
Denn Du sprichts mit For Each wsh In Sheets alle Blätter an.
wenn es nur Tabellenblätter sein sollen, empfehle ich Dir statt Sheets immer Worksheets zu benutzen.
Den Namen der Variable hast Du ja schon richtig benannt wsh (was ja sicher worksheets bedeuten sollte) ;-)
Gruß Matthias

Anzeige
AW: ThisWorkbook.Worksheets.Select
23.05.2014 20:04:59
Chrissi
Hallo Matthias,
danke! Klappt prima.
Grüße
Chrissi

Danke für die Rückmeldung ...owT
23.05.2014 20:38:59
Matthias L

;
Anzeige

Infobox / Tutorial

Markierung für mehrere Tabellenblätter aufheben


Schritt-für-Schritt-Anleitung

Um die Markierung für mehrere Tabellenblätter in Excel aufzuheben, kannst du den folgenden VBA-Code verwenden. Dieser entfernt die Markierung von allen Blättern und aktiviert ein bestimmtes Blatt:

Sub MarkierungAufheben()
    ThisWorkbook.Worksheets.Select
    Sheets("Tabelle1").Activate ' Hier das gewünschte Blatt aktivieren
    Range("A1").Select ' Zelle A1 auswählen
End Sub
  1. Öffne den VBA-Editor mit ALT + F11.
  2. Füge ein neues Modul hinzu (Einfügen > Modul).
  3. Kopiere den obigen Code in das Modul.
  4. Schließe den VBA-Editor und führe das Makro aus, um die Markierung aufzuheben.

Häufige Fehler und Lösungen

  • Fehler: "Kompilieren"-Fehlermeldung
    Wenn du eine Fehlermeldung erhältst, stelle sicher, dass du die richtige Syntax verwendest. Vermeide es, mehrere Befehle in einer Zeile zu kombinieren, wie z.B. Application.Goto und Activate.

  • Markierung bleibt bestehen
    Wenn die Markierung nicht entfernt wird, überprüfe, ob du das richtige Blatt aktivierst. Es muss immer mindestens ein Blatt aktiv sein.

  • Excel ausblenden rückgängig machen
    Wenn du ein Blatt ausgeblendet hast und es zurückholen möchtest, kannst du das mit folgendem Code tun:

Sheets("Tabelle1").Visible = True

Alternative Methoden

Eine weitere Möglichkeit, die Markierung für mehrere Tabellenblätter aufzuheben, ist die Verwendung der Select-Methode. Hier ein Beispiel, wie du dies umsetzen kannst:

Sub AuswahlAufheben()
    Dim wsh As Worksheet
    For Each wsh In ThisWorkbook.Worksheets
        wsh.Select False ' Füge das Blatt zur Auswahl hinzu, ohne die vorherige Auswahl aufzuheben
    Next wsh
    ThisWorkbook.Worksheets(1).Activate ' Aktiviere das erste Blatt
End Sub

Diese Methode ermöglicht es dir, alle Blätter zu selektieren und dann nur eines zu aktivieren.


Praktische Beispiele

Hier sind einige praktische Beispiele, die dir helfen, die Markierung von Tabellenblättern zu entfernen:

  1. Alle Tabellenblätter markieren und dann zu einem bestimmten Blatt wechseln:

    Sub AlleTabellenblätterMarkieren()
       ThisWorkbook.Worksheets.Select
       Sheets("Tabelle1").Activate
    End Sub
  2. Pivot Gruppierung aufheben:
    Um eine Pivot-Tabelle zu bearbeiten und die Gruppierung aufzuheben, kannst du den folgenden Code verwenden:

    ActiveSheet.PivotTables("PivotTable1").PivotFields("Feldname").ClearAllFilters

Tipps für Profis

  • Benutze ThisWorkbook.Worksheets statt Sheets, um sicherzustellen, dass du nur die Arbeitsblätter in der aktuellen Arbeitsmappe ansprichst.
  • Vermeide Schleifen, wenn du nur eine bestimmte Zelle in allen Blättern aktivieren möchtest. Nutze stattdessen den Activate-Befehl direkt nach dem Selektieren aller Blätter.
  • Teste deine Makros in einer Kopie deiner Arbeitsmappe, um Datenverlust zu vermeiden.

FAQ: Häufige Fragen

1. Wie kann ich die Auswahl aufheben, wenn ich mehrere Blätter markiert habe?
Du kannst die Auswahl aufheben, indem du ein beliebiges Blatt aktivierst, zum Beispiel mit Sheets("Tabelle1").Activate.

2. Was passiert, wenn ich versuche, alle Tabellenblätter gleichzeitig zu aktivieren?
Es kann nur ein Blatt aktiv sein. Du musst also immer mindestens ein Blatt auswählen oder aktivieren, um die Markierung für alle anderen aufzuheben.

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