Range.Item-Eigenschaft (Excel)
Gibt ein Range -Objekt zurück, das einen versetzten Bereich in Bezug zum angegebenen Bereich darstellt.
Ausdruck. Item (RowIndex, ColumnIndex)
Ausdruck Eine Variable, die ein Range-Objekt darstellt.
Name | Erforderlich/Optional | Datentyp | Beschreibung |
---|---|---|---|
RowIndex | Erforderlich | Variant | Wenn das zweite Argument angegeben wird, die relative Zeilennummer der zurückzugebenden Zelle. Wenn das zweite Argument nicht angegeben wird, wird der Index des zurückzugebenden Unterbereichs verwendet. |
ColumnIndex | Optional | Variant | Die relative Spaltennummer der zurückzugebenden Zelle. |
Wenn expression kein Bereich ist, der eine Auflistung einzelner Zellen enthält, z. B. weil is über den Columns-Member abgerufen wurde, ist die Angabe des zweiten Arguments unzulässig und führt zu einem Fehler 1004.
Das Standardelement von Range leitet Aufrufe mit Parametern an das Elementelement weiter .
someRange(1)
Daher sind und someRange(1,1)
gleichbedeutend mit someRange.Item(1)
und someRange.Item(1,1)
.
Die Argumente RowIndex und ColumnIndex sind relative 1-basierte Offsets zur oberen linken Zelle des ersten Bereichs des Bereichs, die vom Bereichselement zurückgegeben wird, d. h. für den Bereich Union(someSheet.Range("Z4:AA6"), someSheet.Range("A1:C3"))
gibt Item(1,1)
den Bereich mit der Adresse $Z 4 USD zurück.
Der ColumnIndex kann entweder als numerischer Index oder als Spaltenadresszeichenfolge wie in A1-Notation bereitgestellt werden, d. h. "A"
bezieht sich auf den numerischen Index 1
und "AA"
auf 27
.
Es ist möglich, mithilfe der Item-Eigenschaft auf Zellen außerhalb des ursprünglichen Bereichs zu verweisen, indem geeignete Argumente angegeben werden, z. B. Item(3,3)
gibt die Zelle bei "D4"
für den Bereich someSheet.Range("B2:C3")
zurück.
Der bereich, der zurückgegeben wird, wenn nur ein Parameter angegeben wird, hängt von der Art des Bereichs ab:
Für Bereiche, die aus einzelnen Zellen bestehen, wie von den Elementen Cells und Range zurückgegeben, gibt Item einzelne Zellen zurück. Der Parameter RowIndex verweist auf den Index, wenn der erste Bereich des Bereichs von links nach rechts als von oben nach unten aufgelistet wird, wie bei Arrays mit zwei Dimentionalen. Wenn RowIndex größer als die Anzahl der Zellen im ersten Bereich des Bereichs ist, wird die Enumeration so als würde der Bereich nach unten erweitert.
Für Bereiche, die aus Zeilenbereichen bestehen, wie von Rows zurückgegeben, gibt Item Zeilenbereiche zurück. Der RowIndex-Parameter ist der 1-basierte Offset von der ersten Zeile des Bereichs in der Richtung von oben nach unten.
Für Bereiche, die aus Spaltenbereichen bestehen, wie von Spalten zurückgegeben, gibt Item Spaltenbereiche zurück. Der RowIndex-Parameter ist der 1-basierte Offset von der ersten Spalte in der Richtung von links nach rechts. In diesem Fall kann der Index alternativ als Spaltenadresszeichenfolge bereitgestellt werden.
Das folgende Beispiel zeigt, welche Zelle zurückgegeben wird, wenn beide Parameter angegeben werden.
Public Sub PrintAdresses()
Dim exampleRange As Excel.Range
With ThisWorkbook.Worksheets("ExampleSheet")
Set exampleRange = Application.Union(.Range("B2:D4"), .Range("A1"), .Range("Z1:AA20"))
End With
Debug.Print exampleRange.Item(1,1).Address 'Prints "$B$2"
Debug.Print exampleRange.Item(2,4).Address 'Prints "$E$3"
Debug.Print exampleRange.Item(20,40).Address 'Prints "$AO$21"
Debug.Print exampleRange.Item(2,"D").Address 'Prints "$E$3"
Debug.Print exampleRange.Item(20,"AN").Address 'Prints "$AO$21"
End Sub
Das folgende Beispiel zeigt für verschiedene Arten von Bereichen, welche Unterbereiche zurückgegeben werden, wenn nur ein Parameter angegeben wird.
Public Sub PrintAdresses()
Dim exampleRange As Excel.Range
With ThisWorkbook.Worksheets("ExampleSheet")
Set exampleRange = Application.Union(.Range("B2:D4"), .Range("A1"), .Range("Z1:AA20"))
End With
Debug.Print exampleRange.Cells.Item(1).Address 'Prints "$B$2"
Debug.Print exampleRange.Cells.Item(2).Address 'Prints "$C$2"
Debug.Print exampleRange.Cells.Item(4).Address 'Prints "$B$3"
Debug.Print exampleRange.Cells.Item(10).Address 'Prints "$B$5"
Debug.Print exampleRange.Rows.Item(1).Address 'Prints "$B$2:$D$2"
Debug.Print exampleRange.Rows.Item(10).Address 'Prints "$B$11:$D$11"
Debug.Print exampleRange.Columns.Item(1).Address 'Prints "$B$2:$B$4"
Debug.Print exampleRange.Columns.Item(10).Address 'Prints "$K$2:$K$4"
Debug.Print exampleRange.Columns.Item("A").Address 'Prints "$B$2:$B$4"
Debug.Print exampleRange.Columns.Item("J").Address 'Prints "$K$2:$K$4"
End Sub
Haben Sie Fragen oder Feedback zu Office VBA oder zu dieser Dokumentation? Unter Office VBA-Support und Feedback finden Sie Hilfestellung zu den Möglichkeiten, wie Sie Support erhalten und Feedback abgeben können.