Thema Datum  Von Nutzer Rating
Antwort
01.09.2025 11:13:57 Karlheinz
NotSolved
01.09.2025 13:24:08 Gast38515
NotSolved
02.09.2025 08:11:49 UweD
**
Solved
Blau Kopieren eines Ergebnisses einer Formel in ein anderes Tabellenblatt
02.09.2025 12:51:33 Gast21522
*****
NotSolved
02.09.2025 13:25:06 UweD
NotSolved
04.09.2025 11:01:56 Gast79247
NotSolved

Ansicht des Beitrags:
Von:
Gast21522
Datum:
02.09.2025 12:51:33
Views:
46
Rating: Antwort:
  Ja
Thema:
Kopieren eines Ergebnisses einer Formel in ein anderes Tabellenblatt

Hallo UweD

Thema: Warum sollte man in Excel-VBA Worksheets statt Sheets nutzen?

Viele VBA-Einsteiger wundern sich, warum es in Excel sowohl Sheets als auch Worksheets gibt. Auf den ersten Blick scheinen beide fast gleich – aber es gibt einen entscheidenden Unterschied, der in der Praxis schnell zu Fehlern führen kann.


1. Unterschied zwischen Sheets und Worksheets

  • Sheets
    Enthält alle Blätter in einer Arbeitsmappe. Dazu gehören:

    • Arbeitsblätter (Worksheets)

    • Diagrammblätter (Charts)

    • Historisch auch Makro- und Dialogblätter (heute fast ausgestorben, aber theoretisch möglich)

  • Worksheets
    Enthält ausschließlich Arbeitsblätter – also genau die Tabellen, mit denen man meistens arbeiten will. Diagramme oder andere Blatttypen sind hier nicht enthalten.


2. Beispiel, das den Unterschied zeigt

Stell dir vor, du hast in einer Mappe vorne ein Diagrammblatt und dahinter ein Arbeitsblatt. Dann passiert Folgendes:

Sub TestSheetsVsWorksheets()
    ' Versucht, auf das erste Blatt zuzugreifen
    Sheets(1).Cells(1, 1).Value = "Hallo aus Sheets"
    
    ' Greift auf das erste Arbeitsblatt zu
    Worksheets(1).Cells(1, 1).Value = "Hallo aus Worksheets"
End Sub
  • Sheets(1) → Ist in diesem Fall ein Diagrammblatt.
    Versuchst du darauf mit .Cells zuzugreifen, wirft Excel einen Laufzeitfehler:
    "Objekt unterstützt diese Eigenschaft oder Methode nicht"
    → Denn Diagrammblätter haben keine Zellen.

  • Worksheets(1) → Ist garantiert ein Arbeitsblatt.
    Hier funktioniert der Zugriff auf .Cells ohne Probleme, und der Wert wird sauber eingetragen.


3. Warum also Worksheets bevorzugen?

  • Worksheets ist eindeutiger → du bekommst immer ein Tabellenblatt.

  • Dein Code ist robuster → keine Abstürze, wenn in der Arbeitsmappe ein Diagrammblatt enthalten ist.

  • Nur wenn du bewusst auch Diagrammblätter einbeziehen willst (z. B. beim Durchlaufen aller Blätter), solltest du Sheets nehmen.


4. Best Practice

  • Für typischen VBA-Code mit Tabellen: immer Worksheets verwenden.

  • Nur für Spezialfälle, wo auch Charts etc. behandelt werden sollen: Sheets nutzen.


5. Kurz zusammengefasst

  • Sheets = alle Blätter (Tabellen, Diagramme, etc.)

  • Worksheets = nur Tabellenblätter

  • → Darum: In 95 % der Fälle ist Worksheets die bessere Wahl.


Willst du, dass ich dir den Forumspost auch gleich mit einem kleinen Hinweis formuliere, wie man im Code robust über alle Blätter iterieren kann (inklusive Abfrage, ob es ein Worksheet oder Chart ist)? Das wäre noch ein schöner Zusatz für Fortgeschrittene.


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
01.09.2025 11:13:57 Karlheinz
NotSolved
01.09.2025 13:24:08 Gast38515
NotSolved
02.09.2025 08:11:49 UweD
**
Solved
Blau Kopieren eines Ergebnisses einer Formel in ein anderes Tabellenblatt
02.09.2025 12:51:33 Gast21522
*****
NotSolved
02.09.2025 13:25:06 UweD
NotSolved
04.09.2025 11:01:56 Gast79247
NotSolved