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

Forumthread: Worksheet als Variable nutzen

Worksheet als Variable nutzen
05.01.2021 15:04:42
Tim
Hallo,
wenn ich meine Excel öffne befindet sich lediglich ein Worksheet darin. Ist es möglichen diesen Worksheet als variable zu nutzen ohne diesen auszuschreiben.
Also ein Beispiel wäre dashier

Sub Test()
Dim wb As Workbook
Dim ws As Worksheet
Set wb = ActiveWorkbook
Set ws = Sheet("name")
End Sub

da sich aber den Name meines Sheet ändern könnte, versuche ich diese variable so zu hinterlegen, dass ich nicht den Namen eintippen muss.
z.B.
Set ws = activeworksheet
Dieser Befehl ist nur erfunden aber gibt es sowas?
LG
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Worksheet als Variable nutzen
05.01.2021 15:08:32
Nepumuk
Hallo Tim,
so:
Set ws = ActiveSheet
Gruß
Nepumuk
AW: Worksheet als Variable nutzen
05.01.2021 15:09:47
onur
ws=ActiveSheet.Name
AW: Worksheet als Variable nutzen
05.01.2021 15:09:57
worti
Hallo Tim,
genau den Befehl gibt es:
    Set ws = ThisWorkbook.ActiveSheet
' oder nur
Set ws = ActiveSheet

Anzeige
AW: Worksheet als Variable nutzen
05.01.2021 15:16:41
Tim
Hallo danke für die schnellen antworten, aber wie nutze ich die Variable nun.
z.B.
wenn ich diesen Befehl ausführe
Application.Goto (ActiveWorkbook.Sheet("ws").Range("H:H"))
bekomme ich eine Fehlermeldung. ws ist meine neue Variable also habe ich das auch so ausprobiert
Application.Goto (ActiveWorkbook.ws.Range("H:H"))
aber wieder eine Fehlermeldung
Anzeige
AW: Worksheet als Variable nutzen
05.01.2021 15:26:20
worti
Hi Tim,
hast du die Variable ws auch schon mit "Inhalt" gefüllt?
Danach reicht dann Application.Goto ws.Range("H:H")
AW: Worksheet als Variable nutzen
05.01.2021 15:11:33
ChrisL
Hi
ActiveSheet nicht ActiveWorksheet
Für dein Problem gäbe es aber eigentlich den Codename:
Userbild
Set ws = Tabelle1
anstelle
Set ws = Worksheets("MeineTabelle1")
cu
Chris
Anzeige
AW: Worksheet als Variable nutzen
05.01.2021 15:21:19
Tim
Hallo danke für die schnellen antworten, aber wie nutze ich die Variable nun.
z.B.
wenn ich diesen Befehl ausführe
Application.Goto (ActiveWorkbook.Sheet("ws").Range("H:H"))
bekomme ich eine Fehlermeldung. ws ist meine neue Variable also habe ich das auch so ausprobiert
Application.Goto (ActiveWorkbook.ws.Range("H:H"))
aber wieder eine Fehlermeldung
Anzeige
AW: Worksheet als Variable nutzen
05.01.2021 15:24:49
Nepumuk
Hallo Tim,
so:
Public Sub xxx()
    Dim ws As Worksheet
    Set ws = ActiveSheet
    Application.Goto ws.Range("H:H")
End Sub

Gruß
Nepumuk
Anzeige
AW: Worksheet als Variable nutzen
05.01.2021 16:00:15
Tim
Vielen Dank !
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Worksheet als Variable nutzen


Schritt-für-Schritt-Anleitung

Um ein Worksheet in Excel VBA als Variable zu nutzen, kannst du folgende Schritte befolgen:

  1. Öffne den VBA-Editor: Drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Erstelle ein neues Modul: Klicke mit der rechten Maustaste auf "VBAProject (DeinWorkbookName)" und wähle "Einfügen" > "Modul".
  3. Deklariere die Variable: Verwende den Befehl Dim, um eine Variable für das Worksheet zu erstellen. Zum Beispiel:
    Dim ws As Worksheet
  4. Setze die Worksheet-Variable: Weisen die aktive Tabelle der Variable zu:
    Set ws = ActiveSheet
  5. Verwende die Variable: Jetzt kannst du die ws-Variable in deinen Befehlen verwenden, z.B.:
    Application.Goto ws.Range("H:H")

Häufige Fehler und Lösungen

  • Fehler: "Objekt erforderlich"

    • Ursache: Dies geschieht, wenn die Variable ws nicht korrekt gesetzt wurde. Stelle sicher, dass du den Befehl Set ws = ActiveSheet ausgeführt hast.
  • Fehler: "Name der Arbeitsblattvariable nicht gefunden"

    • Ursache: Wenn du den Befehl wie ActiveWorkbook.Sheets("ws") verwendest, wird ws als Text interpretiert. Stattdessen solltest du einfach ws verwenden:
      Application.Goto ws.Range("H:H")

Alternative Methoden

Es gibt verschiedene Methoden, um ein Worksheet in VBA als Variable zu verwenden:

  • Verwendung des Codenamens: Wenn du ein Worksheet einen Codename gegeben hast, kannst du diesen direkt verwenden:

    Set ws = Tabelle1 ' Tabelle1 ist der Codename
  • Zugriff über ThisWorkbook: Du kannst auch auf ein bestimmtes Worksheet in der Arbeitsmappe zugreifen:

    Set ws = ThisWorkbook.Worksheets("MeinSheetName")

Praktische Beispiele

Hier sind einige praktische Beispiele zur Verwendung von Worksheet-Variablen:

  1. Daten in eine bestimmte Zelle schreiben:

    ws.Range("A1").Value = "Hallo Welt"
  2. Formatieren einer Spalte:

    ws.Columns("A").AutoFit
  3. Kopieren von Daten:

    ws.Range("A1:B10").Copy Destination:=ws.Range("C1")

Tipps für Profis

  • Verwende Option Explicit: Dies zwingt dich, alle Variablen zu deklarieren, was die Fehlersuche erleichtert.

  • Nutze With-Anweisungen: Um den Code lesbarer zu machen und die Leistung zu verbessern:

    With ws
      .Range("A1").Value = "Beispiel"
      .Columns("A").AutoFit
    End With
  • Bewahre die Übersicht: Kommentiere deinen Code, um die Verwendung der Worksheet-Variablen zu erklären.


FAQ: Häufige Fragen

1. Kann ich mehrere Worksheets als Variablen nutzen? Ja, du kannst mehrere Variablen für verschiedene Worksheets deklarieren:

Dim ws1 As Worksheet
Dim ws2 As Worksheet
Set ws1 = ThisWorkbook.Worksheets("Sheet1")
Set ws2 = ThisWorkbook.Worksheets("Sheet2")

2. Wie kann ich den Namen eines Worksheets in einer Variablen speichern? Du kannst den Namen eines Worksheets so speichern:

Dim sheetName As String
sheetName = ws.Name

3. Was passiert, wenn ein Worksheet umbenannt wird? Wenn das Worksheet umbenannt wird und du die Variable ws verwendest, um auf die Range oder andere Eigenschaften zuzugreifen, bleibt die Referenz gültig, solange die Variable korrekt gesetzt ist.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige