Microsoft Excel

Excel und VBA: Formeln, Programmierung, Lösungen

Die Excel/VBA-Beispiele

VBA-Begriff: Range-Eigenschaft (Shapes-Auflistung)

Gibt ein ShapeRange-Objekt zurück, das einen Teilbereich der Formen in einer Shapes-Auflistung darstellt.

Syntax

Ausdruck.Range(Index)

Ausdruck   Erforderlich. Ein Ausdruck, der ein Shapes-Objekt zurückgibt.

Index   Variant erforderlich. Die einzelnen Formen, die in den Bereich aufgenommen werden sollen. Kann eine Ganzzahl sein, die die Indexnummer der Form angibt, eine Zeichenfolge, die den Namen der Form angibt, oder eine Matrix, die entweder Ganzzahlen oder Zeichenfolgen enthält.

Anmerkungen

Obwohl Sie mit der Range-Eigenschaft eine beliebige Anzahl von Formen zurückgeben können, ist es einfacher, die Item-Methode zu verwenden, wenn Sie nur ein einzelnes Element der Auflistung zurückgeben möchten. Beispielsweise ist Shapes(1) einfacher als Shapes.Range(1).

Um für Index eine Matrix aus Ganzzahlen oder Zeichenfolgen festzulegen, können Sie die Array-Funktion verwenden. Beispielsweise gibt die folgende Anweisung zwei durch Namen festgelegte Formen zurück.

Dim arShapes() As Variant
Dim objRange As Object
arShapes = Array("Oval 4", "Rectangle 5")
Set objRange = ActiveSheet.Shapes.Range(arShapes)

In Microsoft Excel kann diese Eigenschaft nicht verwendet werden, um ein ShapeRange-Objekt zurückzugeben, das alle Shape-Objekte eines Tabellenblattes enthält. Zu diesem Zweck verwenden Sie folgenden Code:

Worksheets(1).Shapes.Select        ' select all shapes
set sr = Selection.ShapeRange      ' create ShapeRange