hier mal ein Problem, bei dem ich nicht mal wüsste, was ich in die Such Funktion eingeben sollte. Geschrieben wurde über das Thema aber bestimmt schon mal.
Ich habe z.B. eine Umfangreiche Tabelle aufgebaut, die per VBA verarbeitet wird. Der Zugriff auf einzelne Zellen erfolgt z.B. so
For y=2 to 1000
Cells(y,1)=Cells(y,2)-Cells(y,3)
Next y
Angenommen das Programm ist wie auch die Tabelle sehr groß, bekommt man spätestens ein Problem, wenn man eine Spalte einfügt. Nun müssen alle x-Koordinaten umgeschrieben werden, was bei mehreren Unterprogrammen, welche auf die gleiche Tabelle zugreifen, eine riesen Arbeit wird und wobei nicht selten Fehler passieren.Um dem zu entgehen, lege ich Global Variablen für die Spaltennamen an:
xDifferenz=1
xMinuend=2
xSubtrahend=3
For y=2 to 1000
Cells(y, xDifferenz)=Cells(y, xMinuend)-Cells(y, xSubtrahend)
Next y
Ein nachträgliches Verschieben von Spalten ist nun möglich, jedoch gibt es hier Nachteile:
Aufgrund der globalen Deklaration, benutze ich meist längere Variablennamen, die die Formeln sehr lang machen. Ferner ist auch die Benennung der Variablen nicht immer so leicht, wie hier im Beispiel.
Kurz: geht das irgendwie eleganten oder einfacher? Ich hatte auch daran gedacht, die Spalte mit einem Namen zu versehen (Insert > Name). Mal abgesehen davon, dass auch das Benennen Nachteile hat, wie verwandelt man dann den Namen in die x-Koordinate zurück?
Wie geht Ihr in solchen Fällen vor?
Grüße