Konstanten mit Asc() deklarieren
06.04.2020 14:41:45
stefan
ich habe eine größere VBA-Mappe mit vielen Subs und Funktionen erstellt. Da ich immer wieder auf dies selben Spalten zugreife, aber sich die Spalten bei einem anderen Projekt ändern könnten, möchte ich dafür Konstanten verwenden.
Bisher hatte ich also z.B. sowas
Cells(i,"D").Value
und jetzt
Cells(i,SPALTE_NAME).Value
Die Konstanten habe ich in einem anderen Modul deklariert. Gern hätte ich es so gemacht:
Public Const SPALTE_NAME = Asc("D")-64
Hier kann man einfach den Buchstaben hineinschreiben und muss nicht erst von Zahlen und Buchstaben manuell umrechnen. Leider gibt es hier einen Fehler, da der Ausdruck wohl nicht konstant ist. Wobei sich daran ja eigentlich im Nachhinein nix ändern dürfte, oder?
Alternativ habe ich jetzt
Public SPALTE_NAME As Integer
SPALTE_NAME = Asc("A") - 64
probiert, aber das geht auch nicht, da ich die Initialisierung wohl nur innerhalb eines Subs machen kann.
Hat hier jemand eine Idee, wie ich das ganze schön kompakt schreiben kann, sodass man auch nur die Buchstaben ändern muss?
Mir fällt jetzt nur ein, direkt die Zahlen statt den Buchstaben hinzuschreiben, was ich jedoch nicht so schön finde.
Viele Grüße
Stefan