Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
720to724
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
720to724
720to724
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Variable bestimmt Variable

Variable bestimmt Variable
19.01.2006 23:00:37
Michael
Hallo Profis!
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

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Variable bestimmt Variable
19.01.2006 23:06:01
Josef
Hallo Michael!
Das geht z.B. so!
Sub Test()

Dim Feld(1 To 3) As String
Dim b As Integer

For b = 1 To 3
  
  Feld(b) = Tabelle1.Cells(b, 1)
  
Next b

End Sub


Aber bist du sicher, das du dazu Arrays nutzen willst?
Beschreib mal was mit den Variablen weiter geschehen soll, damit man sich ein Bild machen kann!
'******************************
'* Gruß Sepp
'*
'* Rückmeldung wäre nett!
'******************************

Anzeige
AW: Danke Sepp
20.01.2006 00:21:01
Michael
Hallo Sepp
Damit hab ich angefangen, hab den Ansatz aber später verworfen, weil ich zig-Variable übergeben muss z.T. an Combo-, ListBoxen und Label (verschachtelte Auswahl) und irgendwann hab ich total den Überblick verloren. Wollte jetzt ein wenig für "klare Verhältnisse" sorgen um die Peilung wiederzufinden... ist aber wahrscheinlich schon zu spät.
Hab mir deshalb für's Wochenende schon vorgenommen das ganze Projekt zu überarbeiten und deutlich abzuspecken, sozusagen "back to the roots" und werde es dann wahrscheinlich auch so aufziehen wie Du beschrieben hast.
Mein Projekt ist ein sehr komplexer, rotierender Schichtplan mit Stunden-, Ruhezeiten, Urlaub usw. das Ganze arbeitet eigentlich komplett auf 6 bildschirmfüllenden Userformen, die Ablage von Zwischenergebnissen auf einem Tabellenblatt dient momentan nur dazu, um zu prüfen, ob alle Werte korrekt hin und her geschaufelt werden werden. Später wird nur noch ein winiziger Teil der Daten in einem Tabellenblatt auftauchen (zum finalen Sortieren und Ausdrucken).
Wo ich grad die Ehre hab Dich am anderen Ende zu haben schießt mir zum Thema Userform noch eine Frage durch den Kopf: Meine Userformen sind wie gesagt bildschirmfüllend (hab sogar dran gedacht die jeweils gewählte Auflösung zu berücksichtigen - glaube der Tipp war sogar mal von Dir!?) - Möchte aber verhindern das die Userform(en) verschoben werden können - sprich: Fixierung. Da gibt's doch auch was? (von Ratiopharm - grins) Hast Du den Link irgendwie parat? Wenn nicht ist auch nicht schlimm, dann wühl ich mich am Wochenende durchs Archiv...
Vielen Dank für Deine Antwort
Gruß Michael
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige