Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1508to1512
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
Inhaltsverzeichnis

variable ansprechen

variable ansprechen
23.08.2016 10:59:08
Wolfgang
Hallo,
ich hoffe mir kann jemand bei meinem Problem helfen.
Ziel dieser Schleife ist, dass ich über den Array, die angeführten Variablenwerte auslese und anschließend in ein Tabellenblatt schreibe.
Leider funktioniert das so nicht, da der ausgegeben var_wert immer als string ausgewiesen wird.
Danke schon jetzt, für Eure Hilfe!
Grüße Wolfgang
Sub test()
atv_effberechnung_wizard = 100
atv2_effberechnung_wizard = 200
cafepuls_effberechnung_wizard = 300
alle_sender_effie = Array("atv", "atv2", "cafepuls")
zellename_blatt = "pl"
For x = 0 To 2
var_name = alle_sender_effie(x) & "_effberechnung_wizard" & zellename_blatt
var_wert = var_name
Sheets("Tabelle1").Cells(x + 1, 1).Value = alle_sender_effie(x)
Sheets("Tabelle1").Cells(x + 1, 2).Value = var_wert
Next x
End Sub

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: variable ansprechen
23.08.2016 11:14:15
Werner
Hallo Wolfgang,
ich bin jetzt zwar nicht der VBA Experte und schon gar nicht bei Arrays, aber so wie ich das sehe ist deine Variable var_wert ein String.
Hier weißt du der Variablen var_name einen wert aus dem Array zu und verknüpfst ihn mit einem String, folglich ist die Variable dann eine String-Variable.
var_name = alle_sender_effie(x) & "_effberechnung_wizard" & zellename_blatt
Hier übergibst du den Wert der Variablen var_name an die Variable var_wert. Da der Wert aus var_name ein String ist wird var_wert eine String-Variable.
var_wert = var_name
So sehe ich das, lass aber weiter auf offen.
Gruß Werner
Anzeige
AW: variable ansprechen
23.08.2016 11:22:45
Wolfgang
Hallo Werner,
danke für deinen Input.
Genau das ist mein Problem, nur wie kann ich aus dem String diese Variable ansprechen.
Wie muss ich den String dimensionieren, damit das funktioniert?
Wenn es eine Möglichkeit gibt, wäre ich super dankbar für jeden Input.
Danke nochmals und Liebe Grüße
Wolfgang
AW: variable ansprechen
23.08.2016 11:20:45
ChrisL
Hi Wolfgang
Du kannst die einen Variablen-Namen nicht aus einem String zusammensetzen. In deinem Fall würde sich ein mehrdimensionales Array anbieten:
Sub test()
Dim ar(2, 1) As Variant
ar(0, 0) = "atv"
ar(0, 1) = 100
ar(1, 0) = "atv2"
ar(1, 1) = 200
ar(2, 0) = "cafeplus"
ar(2, 1) = 300
Range("A1:B3") = ar
' Alternative:
'For x = 0 To 2
'    Sheets("Tabelle1").Cells(x + 1, 1).Value = ar(x, 0)
'    Sheets("Tabelle1").Cells(x + 1, 2).Value = ar(x, 1)
'Next x
End Sub

cu
Chris
Anzeige
AW: variable ansprechen
23.08.2016 11:46:07
Daniel
Hi
es ist in VBA nicht so ohne weiteres möglich, eine Variable selbst "Variabel" anzusprechen, dh den Variablennamen aus weitern Variablen zusammenzusetzen und so auf den Variablenwert zuzugreifen.
eine einfache Möglichkeit, so etwas zu realiseren, wäre das Dictionary-Objekt, welches im Prinzip ein eindimensionales Array mit einem Freitext-index ist.
man erstellt dann ein dictionary und verwendet den vorgesehenen Variablennamen als Index:
dim dic as object
set dic = CreateObject("Scripting.Dictionary")
dic("atv_effberechnung_wizard") = 100
dic("atv2_effberechnung_wizard") = 200
dic("cafepuls_effberechnung_wizard") = 300
alle_sender_effie = Array("atv", "atv2", "cafepuls")
with Sheets("Tabelle1")
for x = 0 to 2
var_name = alle_sender_effi(x) & "_effberechnung_wizard"
.cells(x + 1, 1).value = alle_sender_effi(x)
.Cells(x + 1, 2).value = dic(var_name)
next
Gruß Daniel
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige