Aufrufen einer Sub, deren Name in einem String liegt

  • Excel

Es gibt 2 Antworten in diesem Thema. Der letzte Beitrag () ist von dwt73.

    Aufrufen einer Sub, deren Name in einem String liegt

    Hallo,

    abhängig von der von dem Benutzer vorgenommenen Konfiguration möchte ich bestimmte Subs ausführen.
    Es soll aber nicht nach dem Motto

    Visual Basic-Quellcode

    1. if a = 1 then call Sub1
    2. if a = 2 then call Sub2


    laufen, weil ich ja sonst alle Fälle einzeln behandeln muß. Ich will vielmehr alle relevanten Sub-Namen in einem Vektor sammeln und dann nacheinander laufen lassen, also ungefähr so:

    Visual Basic-Quellcode

    1. dim i as integer
    2. dim v_SubVektor (100) as string
    3. call v_SubVektor_füllen ' hier findet also wie auch immer die Befüllung statt
    4. for i = 1 to v_Anz
    5. call v_SubVektor(i) ' dies ist der kritische Punkt, so geht's natürlich nicht
    6. next i


    War hoffentlich verständlich...
    Wer kann mir da helfen?

    Besten Dank!
    Timo
    Wenn die Prozedur keine Parameter braucht, kann man diese auch so aufrufen:

    Visual Basic-Quellcode

    1. Application.Run "Makro1"

    Im Beispiel ist "Makro1" der Name der Prozedur.
    Dieser Befehl entspricht "Extras - Makros - Makros... - (Name des Makros) - Ausführen"

    Du kannst also ein String-Array mit den Namen der Prozeduren machen und diese dann wie oben ausführen.