Ich habe folgendes Problem: Ich möchte einer Variablen einen Wert zuweisen. Hört sich bis dato nach VBA-Level "absolut Beginner" an, aber die Sache einen für mich unlösbaren Haken. Die Variable soll im gleichen Zug mitdefiniert werden. Ich geb' lieber ein Beispiel, damit ihr vielleicht die Problematik besser versteht, als wenn ich hier 20 Zeilen Erklärungstext hinstammele.
In meinem Tabelleblatt 1 stehen in der Spalte A untereinander 3 Werte.
(z.B. A1 = "Müller" ; A2 = "Meier" und A3 = "Kunze")
Um diese Werte in Variablen zu importieren, bin ich bislang wie folgt vorgegangen:
Sub Test()
Dim Feld_A1, Feld_A2, Feld_A3 as String
Dim b as Integer
For b = 1 To 3
If b = 1 Then Feld_A1 = Tabelle1.Cells(b, 1)
If b = 2 Then Feld_A2 = Tabelle1.Cells(b, 1)
If b = 3 Then Feld_A3 = Tabelle1.Cells(b, 1)
Next b
End Sub
Ihr könnt Euch sicher vorstellen wie das aussieht, wenn diese Liste länger wird ...
Jetzt kommt die Frage: Was kann ich tun, um in diesem Fall die vorhandene Variable (b) auch für die Zuweisung meiner anderen Variablen nutzen zu können?
Es bietet sich förmlich an, den Wert aus (b) zugleich für die Variable "Feld_A..." mitzubenutzen. Allerdings habe ich keine Vorstellung wie man das handhaben könnte. Ich dachte an sowas wie
"Feld_A" & b = Tabelle1.Cells(b,1)
wenn z.B. (b) =1 wäre, würde ich zugleich der Variablen "Feld_A1" den entsprechen Wert zuweisen usw.
Funktioniert so einfach natürlich nicht! Wie muss der Code aussehen um VBA klarzumachen, dass ein "Name" & (b) - bzw. eine beliebige Variable - zusammengesetzt als eine bereits definierte Variable erkannt werden, der ich einen Wert geben möchte? Ist das überhaupt möglich? Bei Objekten habe ich Zuweisungen dieser Art bereits häufig realisiert (z.B. UserForm1.Controls("ComboBox" & b).Text = ... - würde in diesem Fall die ComboBox1 ansprechen), aber bei Variablen habe ich irgendwie gar keine Idee und bin für jede Hilfe SUPER dankbar.
Besten Dank im Vorraus für Eure Bemühungen ...
Michael