30.09.2013 Aufrufe

VBA – Programmierung mit Excel Grundlagen

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

Seite 70<br />

Tabellennavigation<br />

Einzelzellen oder Zellbereichen sein. Überschneiden sich die Bereiche, wird die<br />

Vereinigungsmenge genommen.<br />

<br />

Worksheets("Testtabelle").Range("B1", "D3")<br />

Worksheets("Testtabelle").Range("B1:C3", "C1:E5")<br />

✘ Die erste Anweisung arbeitet <strong>mit</strong> dem Zellbereich B1:D3, die zweite <strong>mit</strong> dem Bereich, der<br />

aus der Vereinigung der Bereiche B1:C3 und C1:E5, also dem Bereich B1:E5.<br />

➨ Solange im aktiven Tabellenblatt gearbeitet wird, benötigt die Range <strong>–</strong> Methode das<br />

Worksheet <strong>–</strong> Objekt nicht. Da<strong>mit</strong> Verkürzen sich die Anweisungen, z.B. zu:<br />

Range("M4:N7")<br />

Range("B1:D3 D1:E3")<br />

Range("B1:C3", "C1:E5")<br />

9.1.2 Positionierung über die Cells - Eigenschaft<br />

Im Unterschied zu der Positionierung über die RANGE <strong>–</strong> Eigenschaft bietet diese Alternative<br />

die Möglichkeit, bei der Positionierung Zeilen- und Spaltenindizes zu verwenden, was<br />

insbesondere für berechnete Zelladressen oder die Benutzung von Variablen für<br />

Zelladressen ein großer Vorteil ist. Auch hier sind mehrere Syntaxvarianten möglich:<br />

Objekt.Calls(RowIndex, ColumnIndex)<br />

Object.Cells(Index)<br />

Object.Cells<br />

• Manuelle Eingabe der Zellindizes<br />

Die erste Variante wird zur Er<strong>mit</strong>tlung von Adressen einzelner Zellen benutzt. ROWINDEX<br />

steht für den Zeilenindex, COLUMNINDEX für den Spaltenindex der Zelle. Für die<br />

Zuweisung eines Wertes an die Zelle B2 der Tabelle1 steht dann beispielsweise<br />

Worksheets(1).Cells(2,2).Value = 233<br />

Die zweite Variante er<strong>mit</strong>telt ebenfalls eine Zelle. INDEX ist hier die „laufende Nummer“<br />

einer Zelle im Tabellenblatt. Die Zählung beginnt <strong>mit</strong> der Zelle A1 (Index = 1), für letzte<br />

Zelle der ersten Zeile gilt Index = 256, A2 hat den Indexwert 257, usw.. So<strong>mit</strong> hätte die<br />

obige Anweisung in dieser Syntaxvariante die Form:<br />

Worksheets(1).Cells(258).Value = 233<br />

Die dritte Variante gibt eine Liste aller Zellen eines Tabellenblattes zurück. Sie wird<br />

benutzt für Methoden und Eigenschaften die Formatierungen an Zellen übergeben, aber<br />

nicht <strong>mit</strong> WORKSHHEET <strong>–</strong> Objekten (Tabellenblätter), sondern nur <strong>mit</strong> RANGE <strong>–</strong> Objekten<br />

arbeiten.<br />

Für das Entfernen der Hintegrundmuster aus Zellen eines Tabellenblattes könnte (!) die<br />

Anweisung<br />

Worksheets(1).Interior.Pattern = xlNone<br />

benutzt werden, die jedoch nicht den gewünschten Effekt liefert (Laufzeitfehler 438). Weil<br />

die INTERIOR <strong>–</strong> Eigenschaft nur RANGE <strong>–</strong> Objekte akzeptiert muß <strong>mit</strong> CELLS ein Range <strong>–</strong><br />

Objekt erzeugt werden:<br />

Worksheets(1).Cells.Interior.Pattern = xlNone<br />

➨ Solange im aktiven Tabellenblatt gearbeitet wird, benötigt die CELLS <strong>–</strong> Eigenschaft,<br />

wie die schon oben vorgestellte RANGE - Methode das WORKSHEET <strong>–</strong> Objekt nicht.

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!