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

Dim WS as Worksheet oder as Object

Forumthread: Dim WS as Worksheet oder as Object

Dim WS as Worksheet oder as Object
Peter
Liebes Forum
Variablen für Worksheets werden teils als Worksheet und teils als Object dimensioniert.
Worin liegt der Unterschried?
Gruss, Peter
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Dim WS as Worksheet oder as Object
15.02.2011 21:49:40
Josef

Hallo Peter,
wenn du WS als Worksheet deklarierst, steht dir Intellisense zur Verfügung, das dir alle Eigenschaften und Methoden des Worksheet-Objektes anzeigt, wenn du WS als Objekt deklarierst, kannst du genau so auf alle Eigenschaften/Methoden zugreifen, hast aber kein IntelliSense.

Gruß Sepp

Anzeige
AW: Dim WS as Worksheet oder as Object
15.02.2011 22:12:05
Peter
Hallo Sepp
Vielen Dank für die Antwort.
Gruss, Peter
;

Forumthreads zu verwandten Themen

Anzeige

Infobox / Tutorial

Dim WS as Worksheet oder as Object in Excel VBA


Schritt-für-Schritt-Anleitung

  1. Öffne den VBA-Editor: Drücke ALT + F11, um den VBA-Editor in Excel zu öffnen.
  2. Füge ein neues Modul hinzu: Klicke mit der rechten Maustaste auf "VBAProject (DeinWorkbookName)", wähle "Einfügen" und dann "Modul".
  3. Deklariere eine Worksheet-Variable: Du kannst eine Worksheet-Variable auf zwei Arten deklarieren:
    • Mit IntelliSense:
      Dim ws As Worksheet
    • Als Object:
      Dim ws As Object
  4. Zuweisung des Worksheets: Weisen Sie der Variablen das gewünschte Worksheet zu:
    Set ws = ThisWorkbook.Sheets("Sheet1")
  5. Verwenden der Variable: Du kannst jetzt auf die Eigenschaften und Methoden des Worksheets zugreifen, indem du ws verwendest, z.B.:
    ws.Range("A1").Value = "Hallo Welt"

Häufige Fehler und Lösungen

  • Fehler: "Typ nicht definiert"

    • Lösung: Stelle sicher, dass du die Variable korrekt als Worksheet deklariert hast. Überprüfe auch, ob du die Microsoft Excel Object Library in den Verweisen aktiviert hast.
  • Fehler: IntelliSense funktioniert nicht

    • Lösung: Wenn du ws als Object deklarierst, bekommst du kein IntelliSense. Verwende Dim ws As Worksheet, um IntelliSense zu aktivieren.

Alternative Methoden

Anstatt Dim ws As Worksheet zu verwenden, kannst du auch Dim sh As Worksheet verwenden, um eine andere Variable für ein Worksheet zu deklarieren. Der Zugriff erfolgt dann ähnlich, z.B.:

Dim sh As Worksheet
Set sh = ThisWorkbook.Sheets("Sheet2")
sh.Range("B1").Value = "Test"

Praktische Beispiele

  1. Zugriff auf eine Zelle:

    Dim ws As Worksheet
    Set ws = ThisWorkbook.Sheets("Daten")
    ws.Range("C3").Value = 100
  2. Schleife durch alle Worksheets:

    Dim ws As Worksheet
    For Each ws In ThisWorkbook.Worksheets
       Debug.Print ws.Name
    Next ws

Tipps für Profis

  • Verwende immer Dim ws As Worksheet, wenn du mit Worksheets arbeitest, um die Vorteile von IntelliSense zu nutzen.
  • Halte deinen Code lesbar, indem du beschreibende Namen für deine Variablen verwendest, z.B. Dim dataSheet As Worksheet.
  • Wenn du viele Worksheets in einer Schleife bearbeitest, kann das Verwenden von Dim ws As Worksheet die Performance verbessern.

FAQ: Häufige Fragen

1. Was bedeutet "Dim ws as worksheet"? Das ist die Deklaration einer Variable ws als Typ Worksheet, was dir ermöglicht, auf alle Eigenschaften und Methoden eines Worksheets zuzugreifen.

2. Warum sollte ich "Dim ws as Object" vermeiden? Obwohl es funktioniert, verlierst du den Vorteil von IntelliSense, was die Codeentwicklung erschwert und Fehleranfälligkeit erhöht.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige