Klasse Worksheet (Excel VBA)

Die Klasse Worksheet stellt ein Arbeitsblatt dar.

Die wichtigste Prozeduren der Klasse Worksheet sind Sheets.Add, Sheets.Copy, Sheets.Delete, Sheets.Select, Activate, Copy, Delete, Select, Worksheets.Add, Worksheets.Copy, Worksheets.Delete und Worksheets.Select

Set

Um eine Worksheet -Klassenvariable zu verwenden, muss sie zuerst instanziert werden, beispielsweise

Dim ws as Worksheet
Set ws = ActiveSheet

Die folgenden Prozeduren können zum Festlegen der Worksheet Klassenvariablen verwendet werden : Application.Charts, Application.Sheets, Application.Worksheets, Window.SelectedSheets, Workbook.Charts, Workbook.Sheets, Workbook.Worksheets, Application.ActiveSheet, Chart.Next, Chart.Previous, HPageBreak.Parent, Range.Parent, Range.Worksheet, Sheets.Item, Sheets.Item, Sheets.Add, Sheets.Add, Slicer.Parent, VPageBreak.Parent, Window.ActiveSheet, Workbook.ActiveSheet, Next, Previous, Worksheets.Item und Worksheets.Add

For Each

Hier ist ein Beispiel für die Verarbeitung der Worksheet -Elemente in einer Sammlung

Dim ws As Worksheet
For Each ws In Worksheets
	
Next ws

Themas

Einige Prozeduren in dieser Klasse wurden in Themen zusammengefasst und auf separaten Themenseiten beschrieben

Add with its procedures Sheets.Add und Worksheets.Add
Copy with its procedures Sheets.Copy, Copy und Worksheets.Copy
Print with its procedures Sheets.HPageBreaks, Sheets.PrintOut, Sheets.PrintPreview, Sheets.VPageBreaks, DisplayPageBreaks, HPageBreaks, PageSetup, PrintedCommentPages, PrintOut, PrintPreview, ResetAllPageBreaks, VPageBreaks, Worksheets.HPageBreaks, Worksheets.PrintOut, Worksheets.PrintPreview und Worksheets.VPageBreaks
Select with its procedures Sheets.Select, Select und Worksheets.Select
Display/Show with its procedures DisplayRightToLeft, ShowAllData und ShowDataForm
Enable with its procedures EnableCalculation, EnableFormatConditionsCalculation, EnableOutlining, EnablePivotTable und EnableSelection
Protect with its procedures Protect und Unprotect

Methoden

Die Hauptmethoden der Klasse Worksheet sind

Sheets.Delete - Löscht das Objekt.

Charts.Delete

Activate - Legt das aktuelle Blatt als aktives Blatt fest.

ActiveSheet.Activate

Delete - Löscht das Objekt.

ActiveSheet.Delete

Worksheets.Delete - Löscht das Objekt.

Dim wrks As Worksheets: Set wrks = 
wrks.Delete

Andere Methoden

Sheets.FillAcrossSheets - Kopiert einen Bereich in denselben Bereich aller anderen Arbeitsblätter in einer Auflistung.

Sheets.Move - Verschiebt das Blatt an eine andere Position in der Arbeitsmappe.

Calculate - Diese Methode berechnet alle geöffneten Arbeitsmappen, ein bestimmtes Arbeitsblatt einer Arbeitsmappe oder einen bestimmten Zellbereich in einem Arbeitsblatt (siehe Tabelle unten).

ChartObjects - Gibt ein Objekt zurück, das entweder ein einzelnes eingebettetes Diagramm (ein ChartObject-Objekt) oder eine Auflistung aller eingebetteten Diagramme (ein ChartObjects -Objekt) auf dem Blatt darstellt.

CheckSpelling - Prüft die Rechtschreibung eines Objekts.

CircleInvalid - Kreist ungültige Einträge im Arbeitsblatt ein.

ClearArrows - Löscht die Spurpfeile aus dem Arbeitsblatt.

ClearCircles - Löscht Kreise von ungültigen Einträgen auf dem Arbeitsblatt.

Evaluate - Diese Methode konvertiert einen Microsoft Excel-Namen in ein Objekt oder in einen Wert.

ExportAsFixedFormat - Exportiert in eine Datei mit dem angegebenen Format.

Move - Verschiebt das Blatt an eine andere Position in der Arbeitsmappe.

OLEObjects - Gibt ein Objekt zurück, das entweder ein einzelnes OLE-Objekt (ein OLEObject) oder eine Auflistung aller OLE-Objekte (eine OLEObjects-Auflistung) im Diagramm oder Blatt darstellt.

Paste - Fügt den Inhalt der Zwischenablage auf dem Blatt ein.

PasteSpecial - Fügt den Inhalt der Zwischenablage in einem festgelegten Format auf dem Blatt ein.

PivotTables - Gibt ein Objekt zurück, das entweder einen einzelnen PivotTable-Bericht (ein PivotTable -Objekt) oder eine Auflistung aller PivotTable-Berichte (ein PivotTables-Objekt) in einem Arbeitsblatt darstellt.

PivotTableWizard - Erstellt einen neuen PivotTable-Bericht.

SaveAs - Speichert Änderungen am Diagramm oder Arbeitsblatt in einer anderen Datei.

Scenarios - Gibt ein Objekt zurück, das entweder ein einzelnes Szenario (ein Scenario -Objekt) oder eine Auflistung von Szenarien (ein Scenarios -Objekt) im Arbeitsblatt darstellt.

SetBackgroundPicture - Legt die Hintergrundgrafik für ein Arbeitsblatt fest.

XmlDataQuery - Gibt ein Range -Objekt zurück, das die Zellen darstellt, die einem bestimmten XPath zugeordnet sind.

XmlMapQuery - Gibt ein Range -Objekt zurück, das die Zellen darstellt, die einem bestimmten XPath zugeordnet sind.

Worksheets.FillAcrossSheets - Kopiert einen Bereich in denselben Bereich aller anderen Arbeitsblätter in einer Auflistung.

Worksheets.Move - Verschiebt das Blatt an eine andere Position in der Arbeitsmappe.

Eigenschaften

Sheets.Count Gibt einen Long-Wert zurück, der die Anzahl der Objekte in der Auflistung darstellt.

Dim lngCount As Long
lngCount = Charts.Count

Sheets.Item Gibt ein einzelnes Objekt aus einer Auflistung zurück.

Dim chrItem As Chart
Set chrItem = Charts(Index:=1)

Sheets.Parent Gibt das übergeordnete Objekt für das angegebene Objekt zurück.

Dim wbParent As Workbook
Set wbParent = Charts.Parent

Sheets.Visible Gibt einen Variant -Wert zurück, der bestimmt, ob das Objekt sichtbar ist, oder legt diesen fest.

Charts.Visible = True

AutoFilter Gibt ein AutoFilter -Objekt zurück, wenn die Filterung aktiviert ist.

Dim afrAutoFilter As AutoFilter
Set afrAutoFilter = ActiveSheet.AutoFilter

AutoFilterMode TRUE, wenn die AutoFilter-Dropdownpfeile aktuell auf dem Blatt angezeigt werden.

ActiveSheet.AutoFilterMode = True

Cells Gibt ein Range -Objekt zurück, das alle Zellen im Arbeitsblatt darstellt (nicht nur die Zellen, die derzeit verwendet werden).

Dim rngCells As Range
Set rngCells = ActiveSheet.Cells

CircularReference Gibt ein Range -Objekt zurück, das den Bereich darstellt, der den ersten Zirkelverweis auf dem Blatt enthält, oder gibt Nothing zurück, wenn kein Zirkelbezug auf dem Blatt vorhanden ist.

Dim rngCircularReference As Range
Set rngCircularReference = ActiveSheet.CircularReference

CodeName Gibt den Codenamen für das Objekt zurück.

Dim strCodeName As String
strCodeName = ActiveSheet.CodeName

Columns Gibt ein Range -Objekt zurück, das alle Spalten im angegebenen Arbeitsblatt darstellt.

Dim rngColumns As Range
Set rngColumns = ActiveSheet.Columns

Comments Gibt eine comments -Auflistung zurück, die alle Kommentare für das angegebene Arbeitsblatt darstellt.

Dim cmmsComments As Comments
Set cmmsComments = ActiveSheet.Comments

CommentsThreaded Gibt eine CommentsThreaded -Auflistung zurück, die alle Kommentare der obersten Ebene (keine Antworten) für das angegebene Arbeitsblatt darstellt.

Dim ctdCommentsThreaded As CommentsThreaded
Set ctdCommentsThreaded = ActiveSheet.CommentsThreaded

ConsolidationFunction Gibt den für die aktuelle Konsolidierung verwendeten Funktionscode zurück.

Dim xcfConsolidationFunction As XlConsolidationFunction
xcfConsolidationFunction = ActiveSheet.ConsolidationFunction

ConsolidationOptions Gibt eine Matrix mit drei Elementen für die Konsolidierungsoptionen zurück, wie in der folgenden Tabelle dargestellt.

Dim varConsolidationOptions As Variant
varConsolidationOptions = ActiveSheet.ConsolidationOptions

ConsolidationSources Gibt eine Matrix mit Zeichenfolgen zurück, die die Quellblätter für die aktuelle Konsolidierung des Arbeitsblatts bezeichnen.

Dim varConsolidationSources As Variant
varConsolidationSources = ActiveSheet.ConsolidationSources

CustomProperties Gibt ein CustomProperties -Objekt zurück, das die einem Arbeitsblatt zugeordneten ID-Informationen darstellt.

Dim cpsCustomProperties As CustomProperties
Set cpsCustomProperties = ActiveSheet.CustomProperties

EnableAutoFilter True, falls AutoFilter-Pfeile aktiviert sind, wenn der Schutz „Nur-Benutzerschnittstelle“ eingeschaltet ist.

ActiveSheet.EnableAutoFilter = True

FilterMode True, wenn sich das Arbeitsblatt im Filter-Modus befindet.

Dim booFilterMode As Boolean
booFilterMode = ActiveSheet.FilterMode

Hyperlinks Gibt eine Hyperlinks -Auflistung zurück, die die Hyperlinks für das Arbeitsblatt darstellt.

Dim hypsHyperlinks As Hyperlinks
Set hypsHyperlinks = ActiveSheet.Hyperlinks

Index Gibt einen Long-Wert zurück, der die Indexnummer des Objekts in der Auflistung ähnlicher Objekte darstellt.

Dim lngIndex As Long
lngIndex = ActiveSheet.Index

ListObjects Gibt eine Auflistung von ListObject -Objekten auf dem Arbeitsblatt zurück.

Dim losListObjects As ListObjects
Set losListObjects = ActiveSheet.ListObjects

MailEnvelope Stellt eine e-Mail-Kopfzeile für ein Dokument dar.

Dim meeMailEnvelope As Office.MsoEnvelope
Set meeMailEnvelope = ActiveSheet.MailEnvelope

Name Gibt einen String-Wert zurück, der den Namen des Objekts darstellt, oder legt diesen Wert fest.

ActiveSheet.Name =

NamedSheetViews

Dim As Variant
ActiveSheet.NamedSheetViews

Names Gibt eine Names -Auflistung zurück, die alle arbeitsblattspezifischen Namen darstellt (Namen, die mit dem Arbeitsblattname! definiert wurden).

Dim nmsNames As Names
Set nmsNames = ActiveSheet.Names

Next Gibt ein Worksheet-Objekt zurück, das das nächste Blatt darstellt.

Dim wsNext As Worksheet
Set wsNext = ActiveSheet.Next

Outline Gibt ein Outline -Objekt zurück, das die Gliederung für das angegebene Arbeitsblatt darstellt.

Dim otlOutline As Outline
Set otlOutline = ActiveSheet.Outline

Parent Gibt das übergeordnete Objekt für das angegebene Objekt zurück.

Dim wbParent As Workbook
Set wbParent = ActiveSheet.Parent

Previous Gibt ein Worksheet -Objekt zurück, das das vorherige Blatt darstellt.

Dim wsPrevious As Worksheet
Set wsPrevious = ActiveSheet.Previous

ProtectContents True, wenn der Inhalt des Blatts geschützt ist.

Dim booProtectContents As Boolean
booProtectContents = ActiveSheet.ProtectContents

ProtectDrawingObjects True, wenn Formen geschützt sind.

Dim booProtectDrawingObjects As Boolean
booProtectDrawingObjects = ActiveSheet.ProtectDrawingObjects

Protection Gibt ein Protection -Objekt zurück, das die Schutzoptionen des Arbeitsblatts darstellt.

Dim prtProtection As Protection
Set prtProtection = ActiveSheet.Protection

ProtectionMode True, wenn der ausschließliche Schutz für die Benutzeroberfläche aktiviert ist.

Dim booProtectionMode As Boolean
booProtectionMode = ActiveSheet.ProtectionMode

ProtectScenarios True, wenn die Arbeitsblatt-Szenarios geschützt sind.

Dim booProtectScenarios As Boolean
booProtectScenarios = ActiveSheet.ProtectScenarios

QueryTables Gibt die QueryTables -Auflistung zurück, die alle Abfragetabellen auf dem angegebenen Arbeitsblatt darstellt.

Dim qtsQueryTables As QueryTables
Set qtsQueryTables = ActiveSheet.QueryTables

Range Gibt ein Range -Objekt zurück, das eine Zelle oder einen Bereich von Zellen darstellt.

Dim strCell1 As String: strCell1 = 
Dim rngRange As Range
Set rngRange = ActiveSheet.Range(Cell1:=strCell1)

Rows Gibt ein Range -Objekt zurück, das alle Zeilen im angegebenen Arbeitsblatt darstellt.

Dim rngRows As Range
Set rngRows = ActiveSheet.Rows

ScrollArea Gibt den Bereich, in dem Scrollen zulässig ist, als Bereichsbezug im A1-Stil zurück oder legt ihn fest.

ActiveSheet.ScrollArea =

Shapes Gibt eine Shapes -Auflistung zurück, die alle Formen im Arbeitsblatt darstellt.

Dim shpsShapes As Shapes
Set shpsShapes = ActiveSheet.Shapes

Sort Gibt ein Sort -Objekt zurück.

Dim srtSort As Sort
Set srtSort = ActiveSheet.Sort

StandardHeight Gibt die Standardhöhe aller Zeilen auf dem Arbeitsblatt in Punktzurück.

Dim dblStandardHeight As Double
dblStandardHeight = ActiveSheet.StandardHeight

StandardWidth Gibt die Standardbreite aller Spalten im Arbeitsblatt zurück oder legt Sie fest.

ActiveSheet.StandardWidth =

Tab Gibt ein Tab -Objekt für ein Arbeitsblatt zurück.

Dim tabTab As Tab
Set tabTab = ActiveSheet.Tab

TransitionExpEval True, wenn Microsoft Excel für dieses Arbeitsblatt die Lotus 1-2-3-Regeln zur Formelberechnung verwendet.

ActiveSheet.TransitionExpEval = True

TransitionFormEntry True, wenn Microsoft Excel in diesem Arbeitsblatt die Lotus 1-2-3-Regeln zur Formeleingabe verwendet.

ActiveSheet.TransitionFormEntry = True

Type Gibt einen Wert vom Typ XlSheetType zurück, der den Arbeitsblatttyp darstellt.

Dim xstType As XlSheetType
xstType = ActiveSheet.Type

UsedRange Gibt ein Range -Objekt zurück, das den verwendeten Bereich im angegebenen Arbeitsblatt darstellt.

Dim rngUsedRange As Range
Set rngUsedRange = ActiveSheet.UsedRange

Visible Gibt einen XlSheetVisibility -Wert zurück, der bestimmt, ob das Objekt sichtbar ist, oder legt diesen fest.

ActiveSheet.Visible = xlSheetHidden

Worksheets.Count Gibt einen Long-Wert zurück, der die Anzahl der Objekte in der Auflistung darstellt.

Dim wrks As Worksheets: Set wrks = 
Dim lngCount As Long
lngCount = wrks.Count

Worksheets.Item Gibt ein einzelnes Objekt aus einer Auflistung zurück.

Dim wrks As Worksheets: Set wrks = 
Dim wsItem As Worksheet
Set wsItem = wrks(Index:=1)

Worksheets.Parent Gibt das übergeordnete Objekt für das angegebene Objekt zurück.

Dim wrks As Worksheets: Set wrks = 
Dim objParent As Object
Set objParent = wrks.Parent

Worksheets.Visible Gibt einen Variant-Wert zurück, der bestimmt, ob das Objekt sichtbar ist, oder legt diesen Wert fest.

Dim wrks As Worksheets: Set wrks = 
wrks.Visible = True