Microsoft Excel

Herbers Excel/VBA-Archiv

Application.Run "Routine_XYZ" oder Rou... | Herbers Excel-Forum


Betrifft: Application.Run "Routine_XYZ" oder Rou... von: Franz D.
Geschrieben am: 08.01.2010 12:28:48

Hallo Freunde,
Welcher Unterschied macht einen Aufruf per "Application.Run..." anstelle "Routine.." oder "Call Routine..."? Per "Call..." ist mir klar (Parameter werden übergeben). Also, wann wird sinnvollerweise ein "...Run" benötigt? Wenn dies keiner weiss, kann ich auch ´damit leben.
Tschüss
Franz D.

  

Betrifft: AW: Application.Run "Routine_XYZ" oder Rou... von: Rudi Maintaire
Geschrieben am: 08.01.2010 12:40:56

Hallo,
Run brauchst du, wenn du ein Makro aus einer anderen Mappe aufrufen willst.
Call braucht man eigentlich nie. Die Parameter kann man auch ohne übergeben.

Gruß
Rudi


  

Betrifft: AW: Application.Run "Routine_XYZ" oder Rou... von: Daniel
Geschrieben am: 08.01.2010 12:53:04

Hi



auch bei Application.Run kann man Parameter übergeben.



Application.Run hat gegenüber Call den Vorteil, daß der Prozedurname als String und nicht direkt angegeben wird.

Das hat z.B. den Vorteil, daß ich den Prozedurnamen in einer Variable halten und bei bedarf im Marko verändern kann.



Kleines Beispiel, ich muss in Abhängigkeit von i (1, 2 oder 3) drei verschiedene Makros aufrufen:



mit Call:

Select Case i
   Case 1: Call Makro1
   Case 2: Call Makro2
   Case 3: Call Makro3
End select

mit Run:
Application.Run "Makro" & i

weiterer Vorteil von Application.Run: damit kann man Makros aus anderen geöffneten Dateien aufrufen.



jetzt der Vorteil von Call:

der Makroname ist Excel ja bekannt, daher brauche ich nur die ersten Buchstaben eintippen und kann dann STRG+LEER den Prozedurnamen vervollständigen. Das erspart Tipparbeit und vermeidet Schreibfehler.

bei Application.Run fehlt diese Komfortfunktion.



ob man jetzt das Makro mit oder ohne Call aufruft ist wurscht, ich finde mit Call ist es beim Lesen des Codes schneller erkennbar, was gemacht wird.



Gruß, Daniel


  

Betrifft: AW: Application.Run "Routine_XYZ" oder Rou... von: Franz D.
Geschrieben am: 08.01.2010 13:09:51

Hallo Daniel
Hallo Rudi Mantaire (so "rudimantaire"(F ?) ist dein Wissen nicht !? )
Ich gehe davon aus dass einer bei MS arbeitet, der andere Informatiker ist.
Einmal wieder: HERZLICHEN DANK für die hoch qualitative Unterrichtseinheit.
Au revoir!
Franz D.


  

Betrifft: AW: Application.Run "Routine_XYZ" oder Rou... von: Rudi Maintaire
Geschrieben am: 08.01.2010 13:13:59

Hallo,

Ich gehe davon aus dass einer bei MS arbeitet, der andere Informatiker ist.

dann bin ich weder der eine noch der andere.

Gruß
Rudi


  

Betrifft: AW: Application.Run "Routine_XYZ" oder Rou... von: Daniel
Geschrieben am: 08.01.2010 13:26:46

ich auch.
Gruß, Daniel