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

Mehrere Blätter markieren in VBA

Forumthread: Mehrere Blätter markieren in VBA

Mehrere Blätter markieren in VBA
25.07.2007 11:52:00
Rolf
Hallo Cracks,
kann mir jemand sagen, wie ich in VBA mehrere Tabellen gleichzeitig markieren kann? Das scheint wohl über einen Array zu gehen
sheets(array(irgendwas)).select
aber wie erstelle ich dieses irgendwas automatisch (so dass ich den Eintrag variabel gestalten kann)?
Danke!
Rolf

Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Mehrere Blätter markieren in VBA
25.07.2007 12:02:15
{mskro}
Hallo Rolf,
Sheets(Array("Tabelle1", "Tabelle2")).Select
Gruß Manfred

AW: Mehrere Blätter markieren in VBA
25.07.2007 13:27:36
Rolf
Hallo Manfred,
Danke für die Info, aber das hilft mir leider nicht weiter. Ich brauche eine Möglichkeit, wie ich diesen Text ("Tabelle1", "Tabelle2")) automatisch generiere.
In dem Blatt
https://www.herber.de/bbs/user/44420.xls
habe ich eine Prozedur, die mir Blätter mit einem Komma im Namen generiert, und ich möchte diese Blätter gezielt wieder entfernen, also suche ich nach allen Tabellen, die ein Komma im Namen haben. Und damit ich nicht jedes einzelne Löschen extra quittieren muss, möchte ich erst alle Tabellen markieren und dann zusammen löschen.
Danke!
Rolf

Anzeige
AW: Mehrere Blätter markieren in VBA
25.07.2007 14:34:32
Heiko
Hallo Rolf,
dann mach es richtig, hiermit muss nicht ein einziges mal bestätigen.

Sub TabellenLöschen2()
Dim wksWS As Worksheet
Application.DisplayAlerts = False
For Each wksWS In ActiveWorkbook.Worksheets
If wksWS.Name Like "*,*" Then
wksWS.Delete
End If
Next wksWS
Application.DisplayAlerts = True
End Sub


Gruß Heiko
PS: Rückmeldung wäre nett !

Anzeige
AW: Mehrere Blätter markieren in VBA
25.07.2007 14:37:21
Rolf
Hallo Heiko,
das ist gut!
Danke
Rolf
;
Anzeige
Anzeige

Infobox / Tutorial

Mehrere Blätter in Excel mit VBA markieren


Schritt-für-Schritt-Anleitung

Um in Excel mehrere Tabellenblätter zu markieren, kannst du VBA verwenden. Hier ist eine einfache Schritt-für-Schritt-Anleitung:

  1. Öffne den VBA-Editor: Drücke ALT + F11, um den Visual Basic for Applications (VBA) Editor zu öffnen.

  2. Füge ein neues Modul hinzu: Klicke mit der rechten Maustaste auf „VBAProject (dein Arbeitsbuch)“ und wähle „Einfügen“ > „Modul“.

  3. Gib den VBA-Code ein: Füge den folgenden Code ein, um alle Blätter zu markieren, die ein Komma im Namen haben:

    Sub MehrereBlaetterMarkieren()
       Dim wksWS As Worksheet
       Dim blattArray() As String
       Dim i As Integer
       i = 0
    
       For Each wksWS In ActiveWorkbook.Worksheets
           If InStr(wksWS.Name, ",") > 0 Then
               ReDim Preserve blattArray(i)
               blattArray(i) = wksWS.Name
               i = i + 1
           End If
       Next wksWS
    
       If i > 0 Then
           Sheets(blattArray).Select
       End If
    End Sub
  4. Führe den Code aus: Drücke F5 oder wähle „Ausführen“ > „Sub/UserForm ausführen“, um die Prozedur zu starten.


Häufige Fehler und Lösungen

  • Fehler: „Sub oder Funktion nicht definiert“: Stelle sicher, dass der Code korrekt in einem Modul eingegeben wurde und keine Tippfehler vorhanden sind.
  • Fehler: Keine Blätter gefunden: Wenn der Code keine Blätter markiert, überprüfe, ob tatsächlich Blätter mit einem Komma im Namen existieren.
  • Fehler beim Ausführen des Löschens: Wenn du versuchst, die markierten Blätter zu löschen und eine Bestätigung erhältst, stelle sicher, dass Application.DisplayAlerts auf False gesetzt ist.

Alternative Methoden

Falls du keine VBA-Lösung nutzen möchtest, kannst du die Blätter manuell markieren:

  1. Halte die CTRL-Taste gedrückt.
  2. Klicke auf die gewünschten Tabellenblätter, um sie auszuwählen.
  3. Um alle Blätter zu markieren, klicke mit der rechten Maustaste auf ein Blatt und wähle „Alle Blätter auswählen“.

Für eine größere Anzahl von Blättern kann die VBA-Methode jedoch effizienter sein.


Praktische Beispiele

Hier sind einige Beispiele, wie du die VBA-Methode anwenden kannst:

  • Markiere alle Blätter mit bestimmten Namen: Du kannst die Bedingung im Code abändern, um Blätter mit spezifischen Namen zu markieren.
  • Löschen der markierten Blätter: Nutze den Code von Heiko in diesem Thread, um alle markierten Blätter sofort zu löschen, ohne Bestätigungen.
Sub AlleBlaetterLoeschen()
    Dim wksWS As Worksheet
    Application.DisplayAlerts = False
    For Each wksWS In ActiveWorkbook.Worksheets
        If InStr(wksWS.Name, ",") > 0 Then
            wksWS.Delete
        End If
    Next wksWS
    Application.DisplayAlerts = True
End Sub

Tipps für Profis

  • Nutze Application.ScreenUpdating = False, um das Flackern des Bildschirms während der Ausführung zu minimieren.
  • Kommentiere deinen Code, um die Lesbarkeit zu verbessern und zukünftige Anpassungen zu erleichtern.
  • Teste den Code zuerst in einer Kopie deiner Excel-Datei, um Datenverlust zu vermeiden.

FAQ: Häufige Fragen

1. Wie kann ich mehrere Tabellenblätter in Excel markieren?
Du kannst die Funktion Sheets(Array(...)).Select nutzen, um bestimmte Blätter zu markieren oder VBA verwenden, um sie dynamisch zu selektieren.

2. Gibt es eine Möglichkeit, nur bestimmte Blätter zu löschen?
Ja, du kannst den Code anpassen, um nur die Blätter zu löschen, die bestimmten Kriterien entsprechen, wie z.B. das Vorhandensein eines Kommas im Namen.

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