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, 3314 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
gelöst Nmap: Mac-Adressen erhalten von Clients in einem Remote Network (1)

Frage von clubmate zum Thema Netzwerkprotokolle ...

Exchange Server
gelöst Exchange 2016 spezifische externe adresse erhält keine Mail (6)

Frage von theoberlin zum Thema Exchange Server ...

Netzwerkprotokolle
PC erhalten nicht immer eine gültige IP (29)

Frage von Lieberwolf zum Thema Netzwerkprotokolle ...

Windows Systemdateien
gelöst Aktuelle Java GUID Liste erhalten (10)

Frage von WinLiCLI zum Thema Windows Systemdateien ...

Neue Wissensbeiträge
Windows Server

Umstellung SHA 1 auf SHA 2 - Migration der CA von CSP auf KSP

Tipp von Badger zum Thema Windows Server ...

Windows 10

Quato DTP94 unter Windows 10 x64 installieren und verwenden

Anleitung von anteNope zum Thema Windows 10 ...

Windows 10

Win10 1703 und Nutzerkennwörter bei Ersteinrichtung - erstaunliche Erkenntnis

(15)

Erfahrungsbericht von DerWoWusste zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Server-Hardware
HP DL380 G7: Booten vom USB via USB 3.1-PCI-e Karte möglich? (24)

Frage von Paderman zum Thema Server-Hardware ...

Windows 7
Bluesreens unternehmensweit (18)

Frage von SYS64738 zum Thema Windows 7 ...

LAN, WAN, Wireless
IP Adressen - Modem - Switch - Accesspoint (17)

Frage von teuferl82 zum Thema LAN, WAN, Wireless ...

Windows Netzwerk
DNS ins mehreren Subnetzen (13)

Frage von joerg zum Thema Windows Netzwerk ...