Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Worksheet selektieren in VBA

Forumthread: Worksheet selektieren in VBA

Worksheet selektieren in VBA
13.08.2004 16:23:12
udo
Hallo Leute,
ich würde gerne über ein Makro ein Tabellenblatt selektieren, und zwar nicht mit .... Sheets("Auswertung").Select .... sondern wenn möglich anders.
Das Tabellenblatt " Auswertung " ist in meiner Datei das tabellenblatt Nummer 6.
Hintergrund des Ganzen ist ein Makro, welches mir beim speichern dieses Tabellenblattes als .txt , es mir dann umbenennt, und es nachher dann eben
nicht mehr " Auswertung " heisst sondern eben irgendwie anders.
Da ich das Makro , welches mir das Tb. speichert öffters ausführe, wird es im Optimalfall ´dann eben immer anders benannt werden, da sichder Speichername auf einen Zellwert ( datum / zeit ) , aus diesem Tb. bezieht.
deshalb sollte ich eine andere Möglichkeit haben, dieses Tabellenblatt anzusprechen, egal wie es benannt ist,
Dacht mir was mit Tab.Blatt 6 oder so,
Kennt Jemand von Euch da ne Möglichkeit, ich bekomms leider nicht hin , ...
wäre euch sehr verbunden, lieben dank einstweilen
Gruß udo
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
sheets(6).activate (select) oT
13.08.2004 16:32:04
Bertram
AW: Worksheet selektieren in VBA
13.08.2004 16:32:25
Richie
Gibt es und zwar genau so wie du es schon geschrieben hast:
Hast sogar mehrere Möglichkeiten
Sheets(6).Select
Worksheets(5).Select
Gruß Richie
Danke euch beiden recht herzlich oT
udo
...
;-)
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Worksheet selektieren in VBA


Schritt-für-Schritt-Anleitung

Um ein Arbeitsblatt in VBA zu selektieren, ohne den Namen des Blattes zu verwenden, kannst Du die folgende Methode nutzen. Diese ist besonders nützlich, wenn sich der Name des Blattes häufig ändert, wie im Fall von Udo, der das Blatt "Auswertung" in ein anderes Format umbenennt.

  1. Öffne den VBA-Editor in Excel mit ALT + F11.

  2. Füge ein neues Modul hinzu, indem Du im Menü "Einfügen" auf "Modul" klickst.

  3. Schreibe den folgenden Code in das Modul:

    Sub SelectSheetByIndex()
       Sheets(6).Select ' Selektiert das 6. Tabellenblatt
    End Sub
  4. Schließe den VBA-Editor und führe das Makro aus, um das gewünschte Blatt zu selektieren.

Diese Methode verwendet die Sheets-Sammlung, um das Blatt anhand seines Index zu selektieren. Du kannst auch Worksheets(6).Select verwenden, um dasselbe Ergebnis zu erzielen.


Häufige Fehler und Lösungen

  • Fehler: "Laufzeitfehler 9: Index außerhalb des gültigen Bereichs"

    • Lösung: Überprüfe, ob das Blatt tatsächlich existiert und ob der Index korrekt ist. Der Index beginnt bei 1, also ist Sheets(6) das 6. Blatt in der Reihenfolge.
  • Fehler: "Method 'Select' von Objekt 'Sheets' fehlgeschlagen"

    • Lösung: Stelle sicher, dass das Arbeitsblatt nicht geschützt ist oder dass Du es nicht in einer geschützten Ansicht versuchst zu selektieren.

Alternative Methoden

Neben der Verwendung des Indexes kannst Du auch andere Ansätze verwenden, um ein Blatt zu selektieren:

  • Nach Namen selektieren:

    Sub SelectSheetByName()
       Sheets("Auswertung").Select ' Selektiert das Blatt mit dem Namen "Auswertung"
    End Sub
  • Mit With Sheets:

    Sub WithSheetsExample()
       With Sheets(6)
           .Select
           ' Weitere Befehle hier
       End With
    End Sub

Diese Methoden bieten Flexibilität, je nach Deinen Anforderungen.


Praktische Beispiele

Hier sind einige praktische Beispiele zur Verwendung von VBA, um ein Arbeitsblatt zu selektieren:

  • Speichern eines Blattes als .txt und Umbenennen:

    Sub SaveSheetAsTxt()
       Dim sheetName As String
       sheetName = Format(Now, "dd-mm-yyyy_hh-mm-ss") ' Erzeugt einen Zeitstempel
       Sheets(6).Select
       ActiveSheet.SaveAs Filename:=sheetName & ".txt", FileFormat:=xlText
    End Sub
  • Automatisiertes Selektieren und Ausdrucken:

    Sub PrintSelectedSheet()
       Sheets(6).Select
       ActiveSheet.PrintOut
    End Sub

Tipps für Profis

  • Nutze die Option On Error Resume Next, um Fehler beim Selektieren von Blättern elegant zu handhaben.

  • Schreibe Deine VBA-Codes modular, sodass Du einzelne Funktionen einfach wiederverwenden kannst.

  • Halte Deine Blätter klar benannt und strukturiert, um die Navigation zu erleichtern und Fehler zu vermeiden.


FAQ: Häufige Fragen

1. Kann ich ein Arbeitsblatt selektieren, ohne es sichtbar zu machen? Ja, Du kannst ein Blatt im Hintergrund bearbeiten, ohne es zu selektieren. Verwende dazu einfach Set ws = Sheets(6) und arbeite mit dem Objekt ws.

2. Was passiert, wenn ich einen nicht existierenden Index verwende? Es führt zu einem Laufzeitfehler. Stelle sicher, dass der Index innerhalb der Anzahl der Blätter in Deiner Arbeitsmappe liegt.

3. Ist es besser, Sheets oder Worksheets zu verwenden? Beide Methoden funktionieren, jedoch ist Worksheets spezifischer für Arbeitsblätter, während Sheets auch Diagramme und andere Objekte umfasst. Wähle je nach Bedarf die passende Methode.

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