Thema Datum  Von Nutzer Rating
Antwort
Rot Variablen über Namen ansprechen
16.03.2017 08:28:13 The_Materialist
NotSolved
16.03.2017 09:48:55 The_Materialist
NotSolved
16.03.2017 13:40:05 Gast28809
NotSolved
17.03.2017 02:41:36 Gast1959
***
NotSolved

Ansicht des Beitrags:
Von:
The_Materialist
Datum:
16.03.2017 08:28:13
Views:
1455
Rating: Antwort:
  Ja
Thema:
Variablen über Namen ansprechen

Hallo Internet,

Das wird jetzt relativ verwirrend klingen ist aber eine einfache Frage: 

Kennt VBA eine Funktion mit der man Variablen über den Namen ansprechen kann? Im folgenden Stil kann man Funktionen über ihren Namen ansprechen:

Application.Run (FunctionName)

Das heisst FunctionName kann als String übergeben werden. Jetzt Frage ich mich ob es möglich ist so etwas auch mit Variablen zu machen. 

 

So jetzt zum Kontext. Ich möchte 5 Parameter die ich für einen Funktionsaufruf brauche aus einer Excel Datenbank bestimmen. Leider sind diese Parameter abhängig von den Informationen die im Excel gespeichert wurde. Das heisst die Struktur jedes Sheets ist leicht anders. z.B steht die Temperatur einer Messung einmal als x-Wert bei jedem XY-Paar oder es ist als z-Wert zu jeder XY-Reihe gespeichert. Ich muss also angeben welcher Parameter in welchem Sheet an welcher Stelle steht. Dazu habe ich ein Übersetzungssheet gemacht. Darin ist für jedes Sheet jedem Parameter ein Index zugeordnet von 1-6 (Anzahl Möglichkeiten wo der Parameter stehen kann). Danach habe ich eine Funktion die mir die jeweilige Zuweisung von Variable zu Parameter macht. Ich Frage mich jetzt ob ich das mit dem Index überspringen könnte und statt einem Index direkt mein Variablen Name in die Übersetzungstabelle schreiben kann. 

Nochmal zur Klärung, wie gesagt ich glaube es ist ziemlich verwirrend, die 6 Möglichkeiten was ein bestimmter Parameter sein kann werden in meinem Skript als 6 Variablen aufgegriffen. Danach muss nur noch eineindeutig bestimmt werden welche Variable gehört zu welchem Parameter für ein bestimmtes Sheet. Dazu gibt es diese Übersetzungsmatrix mit INDEX. Das heisst wenn bei Sheet1 in der Spalte Parameter1 der INDEX1 steht, dann wird dem ersten Parameter die erste Variable zugeordnet. Falls eine zwei steht die zweite ect.

Wenn ich jetzt  aber eine Funktion hätte die eine Variable  direkt über einen String der den Namen der Variable ansprechen kann, dann kann ich mir die ganze INDEX zu Variablen Übersetzung sparen. Dann kann ich folgendes schreiben:

Parameter1=Take_Variable(Par1_Cell.value)

Wobei dann Parameter1 der jeweilige Parameter, Take_Variable die gesuchte Funktion (das wird sicher anders heissen) und Par1_Cell die Zelle ist in der der Variablen Name steht. So kann ich in meine Übersetzung statt einen INDEX den Variablen Name schreiben.

 

Ich hoffe es ist halbwegs klar was ich meine. Falls nicht bitte nach Fragen. Ich freue mich auf jeden Hilfreichen Tipp.

Grüsse


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
Rot Variablen über Namen ansprechen
16.03.2017 08:28:13 The_Materialist
NotSolved
16.03.2017 09:48:55 The_Materialist
NotSolved
16.03.2017 13:40:05 Gast28809
NotSolved
17.03.2017 02:41:36 Gast1959
***
NotSolved