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

Forumthread: Workbook und Worksheets neu Deklarieren, Umbenenne

Workbook und Worksheets neu Deklarieren, Umbenenne
04.10.2018 21:11:49
SteinApfel
Hey, da bin ich erneut :D
Diesmal würde ich gerne mein Workbook und meine Worksheets Umbenennen.
Mein Versuch:
Private Sub Workbook_Open()
Dim WSEinstellungen, WSEinfach, WSVSG, WSMIG As Worksheet
Dim WBBook As Workbook
Set WBBook = ThisWorkbook
With WBBook
Set WSEinstellungen = .Worksheets("Tabelle1")
Set WSEinfach = .Worksheets("Tabelle2")
Set WSVSG = .Worksheets("Tabelle3")
Set WSMIG = .Worksheets("Tabelle4")
End With
Lasse ich es mit F8 durchlaufen, tritt an der Stelle "Set WSEinstellungen =.Worksheets("Tabelle1")" ein Laufzeitfehler '9' auf.
Was habe ich falsch gemacht?
Ebenso bin ich für Vorschläge von vernünftigen Abkürzungen sehr dankbar, ich weiß, dass ich da nicht so der einfallsreichste bin :D
Vielen Dank vorab ;)
Anzeige

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Workbook und Worksheets neu Deklarieren, Umbenenne
04.10.2018 21:19:30
Werner
Hallo,
dann gibt es in der Datei kein Worksheet mit dem Namen "Tabelle1".
So sprichst du ein Tabellenblatt an, dass "Tabelle1" heißt - das ist der vergebene Name, der auf dem entsprechenden Tabellenblattreiter steht - im VBA-Editor-Baum der Wert in der Klammer.
Gruß Werner
AW: Workbook und Worksheets neu Deklarieren, Umbenenne
04.10.2018 21:25:23
SteinApfel
Ach so, ich bin halt davon ausgegangen, dass wenn:
Tabelle1.Activate
sich auf Tabelle1 bezieht (der Name vor der Klammer), dass es dabei dann genau so sein muss.
Vielen Dank für die schnelle Antwort wieder ;)
Hab da noch einiges zu lernen wann Excel sich aus welchen Gründen worauf bezieht... -.-
Anzeige
AW: Workbook und Worksheets neu Deklarieren, Umbenenne
04.10.2018 21:41:00
Werner
Hallo,
dann mußt du das Worksheets davor weglassen
Set WSEinstellungen = Tabelle1
Gruß Werner
AW: Workbook und Worksheets neu Deklarieren, Umbenenne
04.10.2018 21:44:41
SteinApfel
Okay, vielen Dank für die Aufklärung.
Der Befehl "Worksheet" bezieht sich immer auf den Aktuellen Namen. Währenddessen Tabelle1. oder Tabelle1 sich immer auf die erste Tabelle bezieht.
Demnach wäre es doch sicherer, wenn ich das Worksheet weglasse, da es eventuell umbenannt werden könnte und dadurch der Code gestört wird, oder!?
Anzeige
AW: Workbook und Worksheets neu Deklarieren, Umbenenne
04.10.2018 21:46:38
Matthias
Du musst "sauberer" deklarieren
Nicht Dim WSEinstellungen, WSEinfach, WSVSG, WSMIG As Worksheet
hier ist nur WSMIG als Worksheet deklariert
sondern:

Dim WSEinstellungen As Worksheet
DiM WSEinfach As Worksheet
Dim WSVSG As Worksheet
Dim WSMIG As Worksheet
Gruß Matthias
Anzeige
AW: Workbook und Worksheets neu Deklarieren, Umbenenne
04.10.2018 21:52:59
SteinApfel
Oh stimmt, vielen Dank.
Es ginge aber auch (Was ich eigentlich auch im Kopf hatte :P )
Dim WSVSG as Worksheet, WSMIG as Worksheet und so weiter.
ob mit Komma getrennt oder zeilenweise ist egal
04.10.2018 21:57:00
Matthias
Hi
Du musst aber alle einzeln zuweisen mit As WorkSheet
Gruß Matthias
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Workbook und Worksheets neu Deklarieren und Umbenennen


Schritt-für-Schritt-Anleitung

  1. Workbook und Worksheets deklarieren: Beginne mit der Deklaration deines Workbooks und der Worksheets. Achte darauf, die richtigen Namen zu verwenden. Hier ein Beispiel für die korrekte Deklaration:

    Dim WBBook As Workbook
    Dim WSEinstellungen As Worksheet
    Dim WSEinfach As Worksheet
    Dim WSVSG As Worksheet
    Dim WSMIG As Worksheet
    Set WBBook = ThisWorkbook
    Set WSEinstellungen = WBBook.Worksheets("Tabelle1")
  2. Fehlerbehebung: Wenn du beim Setzen der Worksheets einen Laufzeitfehler erhältst, überprüfe, ob die angegebenen Blätter tatsächlich existieren und ob die Namen korrekt geschrieben sind.

  3. Umbenennen von Worksheets: Um ein Worksheet umzubenennen, kannst du den folgenden Befehl verwenden:

    WBBook.Worksheets("Tabelle1").Name = "NeuerName"

Häufige Fehler und Lösungen

  • Laufzeitfehler '9': Dieser Fehler tritt auf, wenn das angegebene Worksheet nicht existiert. Überprüfe den Namen des Worksheets im VBA-Editor und stelle sicher, dass er mit dem tatsächlichen Namen übereinstimmt.

  • Unzureichende Deklaration: Wenn du mehrere Worksheets deklarierst, achte darauf, sie korrekt zu deklarieren. Anstelle von:

    Dim WSEinstellungen, WSEinfach, WSVSG, WSMIG As Worksheet

    solltest du dies verwenden:

    Dim WSEinstellungen As Worksheet
    Dim WSEinfach As Worksheet
    Dim WSVSG As Worksheet
    Dim WSMIG As Worksheet

Alternative Methoden

  • Direktes Ansprechen der Worksheets: Anstatt Set WSEinstellungen = WBBook.Worksheets("Tabelle1") zu verwenden, kannst du auch einfach den Namen des Worksheets direkt angeben:

    Set WSEinstellungen = Tabelle1
  • Verwendung von ThisWorkbook: Dies stellt sicher, dass du immer auf das aktive Workbook zugreifst, egal in welchem Kontext dein VBA-Code läuft.


Praktische Beispiele

Ein Beispiel für das Umbenennen und Deklarieren von Worksheets in einem Workbook könnte so aussehen:

Private Sub Workbook_Open()
    Dim WBBook As Workbook
    Dim WSEinstellungen As Worksheet
    Set WBBook = ThisWorkbook
    Set WSEinstellungen = WBBook.Worksheets("Tabelle1")

    ' Umbenennen des Worksheets
    WSEinstellungen.Name = "Einstellungen"
End Sub

Achte darauf, dass die Namen der Worksheets genau mit denen in deinem Workbook übereinstimmen.


Tipps für Profis

  • Verwende sprechende Namen: Anstatt "Tabelle1" zu verwenden, nenne deine Worksheets nach ihrem Inhalt (z.B. "Verkäufe", "Einstellungen"), um die Übersichtlichkeit zu erhöhen.

  • Fehlerbehandlung einbauen: Implementiere Fehlerbehandlungsroutinen, um Laufzeitfehler zu vermeiden. Das kann so aussehen:

    On Error Resume Next
    Set WSEinstellungen = WBBook.Worksheets("Einstellungen")
    If Err.Number <> 0 Then
        MsgBox "Das Worksheet 'Einstellungen' existiert nicht"
    End If
    On Error GoTo 0

FAQ: Häufige Fragen

1. Wie kann ich mehrere Worksheets gleichzeitig umbenennen?
Du kannst eine Schleife verwenden, um mehrere Worksheets durchzugehen und sie entsprechend zu benennen.

2. Was ist der Unterschied zwischen Sheets und Worksheets in VBA?
Sheets umfasst sowohl Worksheets als auch Charts, während Worksheets nur die Tabellenblätter umfasst. Verwende Worksheets, wenn du nur mit Tabellen arbeiten möchtest.

3. Wie kann ich Abkürzungen für Worksheets festlegen?
Du kannst ein Dictionary verwenden oder Variablen für häufig verwendete Worksheets deklarieren, um den Code übersichtlicher zu gestalten.

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