Bezug auf Spalten oder Zeilen in großen Tabellen

22.04.2002


In größeren Tabellen mit vielen Spalten kann eine nachträgliche
Anpassung des VBA-Codes mühselig sein, wenn beispielsweise eine
Spalte eingefügt oder gelöscht wird.
Der Bezug zu den Spalten muss neu angepasst werden,
wenn Sie sich mittels Range(...) auf diese Spalten bezogen haben.

Ein kleiner Trick kann Ihnen viel Arbeit abnehmen,
wenn sich der Tabellenaufbau verändert.
Vergeben Sie beispielsweise der ersten Zeile jeder Spalte
einen eindeutigen Namen. Auf diesen Namen können Sie sich nun
mit VBA beziehen, auch wenn eine Spalte eingefügt oder gelöscht wird.


Falsch:
Wert = Range ("Z10")


Richtig:
Wert = Cells(10,Range("Zellenname").Column)

Auch wenn Spalten verschoben werden,
der Name der Zelle wird mit verschoben.
VBA erkennt trotzdem, in welcher Spalte sich der Wert befindet.
Was mit Spalten geht, geht natürlich auch mit Zeilen:
Wert = Cells(Range("Zellenname").Row, 1)
Ebenso kombiniert:
Wert = Cells(Range("Zellenname").Row,Range("Zellenname").Column)
Was aber das gleiche wäre wie:
Wert = Range("Zellenname").Value
Einer Zelle oder einem Bereich können Sie Namen vergeben
über das Menü "Einfügen" - "Namen" - "Festlegen" oder aber
im "Namenfeld".