Hallo!
Ich würde gern Namen von einander analogen Variablen als String zusammensetzen. Wenn ich z. B. eine Tabelle mit 50 Spalten habe, kann ich die Spaltentitel aus Spalte 1 mit einer Schleife auslesen, etwa so:
Sub Auslesen()
Dim i As Integer
Do With Application
For i = 1 To 50
spalErsteSpalte = .Match ("ErsteSpalte", Rows(1), 0)
spalZweiteSpalte = .Match ("ZweiteSpalte", Rows(1), 0)
Next i
End With
End Sub
(Denn Hinweis auf "Match" verdanke ich Rudi Maintaire.)
Wenn ich das Programm so schreibe, muss ich fünfzig Spaltenvariabeln (hier durch das Präfix
"spal" gekennzeichnet) ausprogrammieren, eine ziemliche Arbeit.
Kann man sich stattdessen nicht auch Variablennamen als Textstrings so zusammensetzen wie
die Namen von Controls? Bei Controls geht das wie folgt:
Sub Zusammen()
For i = 1 To 10
Userform1.Controls("Steuerelem" & CStr(i) = "ab" & CStr(i)
Next i
End Sub
(Diesen Hinweis verdanke ich Kurt.)
Die Namen der Controls müssen dazu durchnumeriert sein, z.B. "Steuerelem1", "Steuerelem2" usw.
Wenn das auch bei Variablen möglich ist, kann man in solchen F'llen wie dem
beschriebenen einige Programmierarbeit sparen.
Bin mal gespannt, welche Möglichkeiten noch in Excel verborgen liegen!
Grüße! Werner