Excel-VBA-Aufruffunktion mit Variablennamen

8

Ich versuche, eine Funktion mit einem Variablennamen aufzurufen, der zur Laufzeit basierend auf einem Kombinationsfeldwert generiert wird. Das ist in den meisten Sprachen einfach, aber ich kann es nicht in Excel VBA herausfinden, ich vermute, das liegt daran, dass ich nicht wirklich verstehe, wie der Compiler funktioniert. Ich habe mehrere Posts gefunden, die nah sind, aber anscheinend nicht den Trick machen. Der folgende Code ist falsch, sollte aber eine Vorstellung davon geben, was ich will.

Danke

%Vor%     
BWG 13.09.2011, 18:16
quelle

4 Antworten

15

CallByName ist das, was Sie zum Ausführen der Aufgabe benötigen .

Beispiel: Code in Sheet1

%Vor%

Code ist Module1 (Basismodul)

%Vor%

Beim Ausführen der Methode testSum wird die Methode Sum mit dem Namen der in einer String-Variablen angegebenen Methode aufgerufen, wobei 2 Parameter (1 und 2) übergeben werden. Der Rückgabewert des Funktionsaufrufs wird als Ausgabe von CallByName zurückgegeben.

    
shahkalpesh 13.09.2011, 18:44
quelle
1

Das obige funktioniert, aber nicht mit einer großen Anzahl von Namen

Verwenden Sie Application.Run (MacroName, Parameter)

Sie müssen sicher sein, dass es ein Makro gibt, aber es ist besser als das obige, da es keine Select-Anweisung gibt.

    
Adam Law 01.03.2015 04:46
quelle
0

Sie sollten eine Funktion schreiben, die den CB-Wert als Parameter akzeptiert, und dann einen Auswahlfall verwenden, um die entsprechende Formatierungsfunktion aufzurufen.

Ähnliches Ähnliches

%Vor%     
Pepe 13.09.2011 18:22
quelle
0

In Bezug auf meine obige Antwort könnte es auch nützlich sein, zu überprüfen, ob das Makro vorhanden ist

%Vor%     
Adam Law 01.03.2015 04:50
quelle

Tags und Links