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, 3276 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
Ä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
Erkennung und -Abwehr
Virenschutz - Meinungen (27)

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

Netzwerke
Abisolierwerkzeug (18)

Frage von SarekHL zum Thema Netzwerke ...

Windows 10
Welches OS für Firmengeräte? (17)

Frage von MarkusVH zum Thema Windows 10 ...

Exchange Server
SBS2011: POP3-Connector 10 MB Grenze Email Benachrichtigung (17)

Frage von bogi1102 zum Thema Exchange Server ...