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, 3065 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 ..
Neuester Wissensbeitrag
Humor (lol)

Linkliste für Adventskalender

(3)

Information von nikoatit zum Thema Humor (lol) ...

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

Frage von takvorian zum Thema Windows Server ...

Server-Hardware
"Rack" erhalten, keinen blassen Schimmer was was ist. Von daher, HELP PLEASE (28)

Frage von pimpministrator zum Thema Server-Hardware ...

Netzwerkprotokolle
gelöst Nmap: Mac-Adressen erhalten von Clients in einem Remote Network (1)

Frage von clubmate zum Thema Netzwerkprotokolle ...

E-Mail
Postfix + Dovecot mehrere Domains erhalten keine Mail

Frage von redShanks zum Thema E-Mail ...

Heiß diskutierte Inhalte
Windows Server
DHCP Server switchen (24)

Frage von M.Marz zum Thema Windows Server ...

SAN, NAS, DAS
gelöst HP-Proliant Microserver Betriebssystem (14)

Frage von Yannosch zum Thema SAN, NAS, DAS ...

Grafikkarten & Monitore
Win 10 Grafikkarte Crash von Software? (13)

Frage von Marabunta zum Thema Grafikkarten & Monitore ...

Erkennung und -Abwehr
Spam mit eigener Domain (12)

Frage von NoobOne zum Thema Erkennung und -Abwehr ...