Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Variableninhalt anhand des Variabelnnamens erhalten

Frage Entwicklung VB for Applications

Mitglied: miniversum

miniversum (Level 3) - Jetzt verbinden

28.12.2008, aktualisiert 12:53 Uhr, 3292 Aufrufe, 2 Kommentare

Hallo
Ich schreibe an einem Macro in vba unter Excel 2003.
Dort benötige ich ene Funktionalität die mir den Inhalt einer Variable anhand ihres Variabelnnamens liefert.
Versucht hab ich shconmal folgendes:
01.
var1 = "hallo" 
02.
var2 = "var1" 
03.
 
04.
Evaluate "var3=" & var2 
05.
MsgBox var3
und
01.
var1 = "hallo" 
02.
var2 = "var1" 
03.
 
04.
var3 = Evaluate(var2) 
05.
MsgBox var3
In beiden Fällen sollte eigentlich als Ihnahlt von var3 = "Hallo" stehen.
Beides Funktioniert nicht.
Ich habe auch schon Varianten mit "ExecoteExcel4Macros" und "VarPtr", was aber auch nicht funktionierte.

Im Prinzip suche ich das entsprechende zu "Application.Run" wo man ja auch ein Funktionsname als String angeben kann, nur eben für (String-)Variabeln.

Ich hoffe das mein Vorhaben einigermasen verständlich erklärt ist. Wenn nicht ganz klar einfach nachfragen.
miniversum
Mitglied: bastla
28.12.2008 um 20:03 Uhr
Hallo miniversum!

In VBS würde
01.
var1 = "hallo" 
02.
var2 = "var1" 
03.
 
04.
var3 = Eval(var2) 
05.
MsgBox var3
funktionieren, aber für VBA habe ich leider auch keinen Lösungsvorschlag.

Vielleicht könntest Du für die gewünschte Funktionalität ein "Dictionary" verwenden:
01.
Set d = CreateObject("Scripting.Dictionary") 
02.
d.Add "var1", "hallo" 
03.
 
04.
var2 = "var1" 
05.
 
06.
var3 = d.Item(var2) 
07.
MsgBox var3
Grüße
bastla
Bitte warten ..
Mitglied: miniversum
29.12.2008 um 15:38 Uhr
Danke für die Antwort.
Das mit Directory geht schon in die Richtung. Aber es ist auch nicht ganz das was ich benötige.
Vielleicht wars auch ein blödes Beispiel.
Mal anders erklärt bräuchte ich eine Funktion die mir bei:
01.
Dim var1 As String 
02.
 
03.
var1 = "Range(""E1"").Text" 
04.
MsgBox mache(var1) 
05.
 
06.
var1 = """Hallo""" 
07.
MsgBox mache(var1) 
08.
 
das ausgibt was in Zelle E1 steht oder Eben das Hallo. Also den befehl ausführt der im String angegeben ist.
nur welcher Befehl dieses "mache" ist weiß ich eben nicht.

Das Eval hab ich mal versucht indem ich einen Verweiß auf die Microsoft Scripting Komponente gemacht habe. Das hat aber auch nicht funktioniert.
Bitte warten ..
Ähnliche Inhalte
Netzwerkprotokolle
PC erhalten nicht immer eine gültige IP (29)

Frage von Lieberwolf zum Thema Netzwerkprotokolle ...

Windows 10
Microsoft: Nur 13 Smartphones erhalten Windows 10 Creators Update

Link von BassFishFox zum Thema Windows 10 ...

Windows Server
gelöst Clients erhalten keine Updates obwohl WSUS "korrekt" konfiguriert (11)

Frage von takvorian zum Thema Windows Server ...

Neue Wissensbeiträge
Drucker und Scanner

Samsung SL-M4025ND, firmware update und (kompatible) Tonerkassetten

(1)

Erfahrungsbericht von markus-1969 zum Thema Drucker und Scanner ...

Router & Routing

PfSense auf Supermicro Intel Xeon D-15x8 SoC Bare Bone

Tipp von Dobby zum Thema Router & Routing ...

Windows Server

Exchange 2010 auf Windows Server 2016 und AD

(2)

Tipp von Herbrich19 zum Thema Windows Server ...

KVM

How to: Libvirt Port forwarding

(2)

Anleitung von fundave3 zum Thema KVM ...

Heiß diskutierte Inhalte
Router & Routing
über Vmware auf eine FritzBox mit IPv6 per VPN (17)

Frage von Zockervogel zum Thema Router & Routing ...

Windows Server
gelöst Netzlaufwerk RemoteApp auf Win 2012 R2 Terminalserver funktioniert nicht (12)

Frage von grenzde zum Thema Windows Server ...

Windows 7
Windows Client Anmeldung bei zwei identischen Domänen (11)

Frage von creeko zum Thema Windows 7 ...

Java
Mit welchem Browser ist noch Java möglich? (8)

Frage von maddoc zum Thema Java ...