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

Worksheet-Name als Variable

Forumthread: Worksheet-Name als Variable

Worksheet-Name als Variable
17.07.2003 14:46:12
Tobias
Guten Tag miteinander,
In der Variable: "Arbeitsfolie" speichere ich den Namen eines Worksheets ("SeiteA") ab und möchte anschl. auf dieses Worksheet zugreifen, wie geht das?
Dim Arbeitsfolie As String
Arbeitsfolie = "SeiteA"
Worksheets(Arbeitsfolie).Cells(3, 37)
So geht es leider nicht!
Besten dank
Tobias
Anzeige

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Worksheet-Name als Variable
17.07.2003 14:55:57
ivan


hi Tobias
Sub Markieren()
Dim Arbeitsfolie As String
Arbeitsfolie = "SeiteA"
Worksheets("Arbeitsfolie").Cells(3, 37).Select
End Sub
Gruss
ivan

Anzeige
Nee, Ivan, geht anders!
17.07.2003 15:16:03
Tobias II

Sub Markieren()
Dim Arbeitsfolie As String
Arbeitsfolie = "SeiteA"
Worksheets("Arbeitsfolie").Cells(3, 37).Select
End Sub

Du musst die Anführungsstriche weglassen bei Variablen, der Code muss so aussehen:

Sub Markieren()
Dim Arbeitsfolie As String
Arbeitsfolie = "SeiteA"
Worksheets(Arbeitsfolie).Cells(3, 37).Select
End Sub


Anzeige
AW: Worksheet-Name als Variable
17.07.2003 14:51:11
Tobias
Hallo Namensvetter: Das Problem ist nicht so schwer:
Probiers mal mit:
Sheets(Arbeitsfolie).Select
Cells(1, 1).Select
PS: Um das ganze Workbook zu selektieren musst Du
Namedeinesworkboos.Activate benutzen
Grüße, Tobias

AW: Worksheet-Name als Variable
17.07.2003 14:50:43
Hajo_Zi
Hallo Tobias
folgender Code läuft bei mir Fehlerfrei.

Sub Test()
Dim Arbeitsfolie As String
Arbeitsfolie = "SeiteA"
Worksheets(Arbeitsfolie).Cells(3, 37) = 36
End Sub

Gruß hajo

Anzeige
AW: Worksheet-Name als Variable
17.07.2003 14:49:40
geri
Hallo Tobias
Worksheets("SeiteA").Select
meinst du so
gruss geri

AW: Worksheet-Name als Variable
17.07.2003 14:55:32
Tobias
Hallo Geri
ja nicht direkt, der Witz an der ganzen Geschichte ist ja, dass ich den Worksheet-Name "SeiteA" der Variable "Arbeitsfolie" übergebe, da es auch noch andere Worksheets z.B. "SeiteB" usw. gibt. Deshalb muss ich mit der Variable "Arbeitsfolie" arbeiten und kann nicht direkt den Namen "SeiteA" eingeben.
Ich hoffe, dass ich mich verständlicher ausgedrückt habe.
Gruss Tobias

Anzeige
AW: Worksheet-Name als Variable
17.07.2003 14:51:50
Hajo_Zi
Hallo Geri
zu 99% kann in VBA auf Select und ähnliche Befehle verzichtet werden.
Gruß Hajo

@Hajo - OK Hajo - die Wette gilt...
17.07.2003 15:12:13
Andreas Walter
Hallo Hajo
> zu 99% kann in VBA auf Select und ähnliche Befehle verzichtet werden.
Habe gerade durchgezählt - in einer bestimmten Anwendung bei mir habe ich
134
.select
Befehle
Am Wochenende klemme ich mich dahinter und es dürfen maximal 2 übrig bleiben.
Einverstanden?
Um was wetten wir?
*grins*
Andreas Walter
(Nicht böse sein - ich habe Probleme mit dem Forum und meinem Browser hier und wollte kurz einen Beitrag verfassen und konnte nichts finden, wo ich sinnvoll beitragen konnte.)

Anzeige
AW: @Hajo - OK Hajo - die Wette gilt...
17.07.2003 15:35:39
Hajo_Zi
Hallo Andreas
ich habe es eigentlich nur bei der arbeit mit Bilder gemerkt das dort Select notwendig ist, aber auch nur in seltenen Fällen.
Ohne Slecet usw. läuft der Code ruhiger und schneller.
Gruß Hajo
Falls Code vorhanden wurde dieser getestet unter Betriebssystem XP Pro und Excel Version XP SBE.
Bitte kein Mail, Probleme sollen im Forum gelöst werden.
Microsoft MVP für Excel
Das Forum lebt auch von den Rückmeldungen.

Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Worksheet-Name als Variable in VBA nutzen


Schritt-für-Schritt-Anleitung

Um den Namen eines Worksheets als Variable in VBA zu nutzen, folge diesen Schritten:

  1. Variable deklarieren: Verwende Dim, um eine Variable für den Worksheet-Namen zu erstellen.

    Dim Arbeitsfolie As String
  2. Namen zuweisen: Setze den Namen des Worksheets in die Variable.

    Arbeitsfolie = "SeiteA"
  3. Auf das Worksheet zugreifen: Verwende die Variable, um auf das entsprechende Worksheet zuzugreifen.

    Worksheets(Arbeitsfolie).Cells(3, 37).Select

Mit diesen Schritten kannst du den excel vba worksheet name as variable effektiv nutzen.


Häufige Fehler und Lösungen

  • Fehler: "Subscript out of range"

    • Lösung: Stelle sicher, dass der Name des Worksheets korrekt in der Variable gespeichert ist und existiert.
  • Fehler: Verwendung von Anführungszeichen

    • Lösung: Wenn du eine Variable verwendest, darfst du keine Anführungszeichen um den Variablennamen setzen. Der richtige Code lautet:
      Worksheets(Arbeitsfolie).Select

Alternative Methoden

Anstelle von Worksheets, kannst du auch Sheets verwenden, was in den meisten Fällen identisch funktioniert:

Sheets(Arbeitsfolie).Select

Für eine aktive Auswahl eines Worksheets kannst du auch die Methode Activate verwenden:

Worksheets(Arbeitsfolie).Activate

Praktische Beispiele

Hier sind einige nützliche Beispiele zur Verwendung von vba worksheet variable:

  1. Zellenwert setzen:

    Sub SetValue()
       Dim Arbeitsfolie As String
       Arbeitsfolie = "SeiteA"
       Worksheets(Arbeitsfolie).Cells(3, 37) = 36
    End Sub
  2. Werte auslesen:

    Sub GetValue()
       Dim Arbeitsfolie As String
       Dim Wert As Variant
       Arbeitsfolie = "SeiteA"
       Wert = Worksheets(Arbeitsfolie).Cells(3, 37).Value
       MsgBox Wert
    End Sub

Tipps für Profis

  • Vermeide die Verwendung von .Select: In VBA ist es oft besser, direkt auf die Zellen zuzugreifen, anstatt sie auszuwählen. Dies verbessert die Performance und macht den Code klarer.

  • Verwende Option Explicit: Durch die Verwendung von Option Explicit am Anfang deines Moduls wird sichergestellt, dass alle Variablen deklariert sind, was Fehler vermeiden hilft.

  • Multi-Worksheet-Management: Wenn du mit mehreren Worksheets arbeitest, kannst du eine Array-Variable nutzen, um mehrere Worksheets dynamisch zu verwalten.


FAQ: Häufige Fragen

1. Wie kann ich den Namen eines Worksheets dynamisch ändern?
Du kannst den Namen eines Worksheets ändern, indem du den Name-Eigenschaft verwendest:

Worksheets(Arbeitsfolie).Name = "NeuerName"

2. Kann ich auch auf versteckte Worksheets zugreifen?
Ja, du kannst auf versteckte Worksheets zugreifen, solange du den korrekten Namen in deiner vba worksheet name as variable verwendest.

3. Was ist der Unterschied zwischen Sheets und Worksheets?
Sheets bezieht sich auf alle Blätter (inklusive Charts), während Worksheets nur auf die Tabellenblätter beschränkt ist.

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