Hi nochmal ihr Experten…
wenn ich in einem Makro ein anderes sub aufrufen will… Kann ich dann einen Wert mit übergeben?
untertänigsten Dank 
Munich
Hi nochmal ihr Experten…
wenn ich in einem Makro ein anderes sub aufrufen will… Kann ich dann einen Wert mit übergeben?
untertänigsten Dank 
Munich
Hallo, Munich!
wenn ich in einem Makro ein anderes sub aufrufen will… Kann
ich dann einen Wert mit übergeben?
Klar. Die aufgerufene Prozedur muss halt entsprechend deklariert werden. Wenn Übergabeparameter vorhanden sind, taucht ein Makro übrigens nicht in der Liste der ausführbaren Makros ([Alt]+[F8]) auf.
Beispiel:
Sub Test(pstrText as String)
Msgbox pstrText
End Sub
Sub Makro()
dim strMeldung as string
strMeldung=inputbox("Mit was soll das testmakro aufgerufen werden?")
call Test(strMeldung)
End Sub
Gruß, Manfred
Danke 
Klar. Die aufgerufene Prozedur muss halt entsprechend
deklariert werden. Wenn Übergabeparameter vorhanden sind,
taucht ein Makro übrigens nicht in der Liste der ausführbaren
Makros ([Alt]+[F8]) auf.
das versteh ich zwar nicht so ganz, aber vielleicht kannst Du’s ja noch erklären, wie ich eine Prozedur deklariere und was die Nachteile davon sind…
Noch eine Frage - in php kann man eine Variable global setzen, dann muss man sie nicht in den Klammern übernehmen also so wie Du gerade beschrieben hast… Gibts das bei VBA auch?
Klar. Die aufgerufene Prozedur muss halt entsprechend
deklariert werden. Wenn Übergabeparameter vorhanden sind,
taucht ein Makro übrigens nicht in der Liste der ausführbaren
Makros ([Alt]+[F8]) auf.das versteh ich zwar nicht so ganz, aber vielleicht kannst
Du’s ja noch erklären, wie ich eine Prozedur deklariere und
was die Nachteile davon sind…
Prozedur und Funktion deklarierst Du prinzipiell gleich. Und beides kann theoretisch als „Makro“ verwendet werden, WENN keine Parameter übergeben werden. „Makro“ meint hierbei: Aufruf aus Excel heraus über „Extras“-„Makros“-„Makro ausführen“. Wenn Du diesen Menübefehl aufrufst, werden Dir alle ausführbaren Makros angezeigt.
Noch eine Frage - in php kann man eine Variable global setzen,
dann muss man sie nicht in den Klammern übernehmen also so wie
Du gerade beschrieben hast… Gibts das bei VBA auch?
Geht hier auch. Da brauchst Du ein Modul (was beim Aufzeichnen eines Makros automatisch angelegt wird). Und in diesem deklarierst Du einfach eine Variable mit
Global meineVariable As String
(String jetzt nur mal als Beispiel, halt den Typ, den Du brauchst.)
Diese Variable ist in Deiner Datei global. Von anderen Dateien aus kann sie allerdings nicht gesetzt oder gelesen werden. Wenn Du sie initialisieren willst und das nicht über irgendein Makro passiert, solltest Du das z. B. im Workbook_Open-Ereignis (oder anderen passenden Ereignissen) machen.
Gruß, Manfred
O.T. Function und Sub sind nicht gleich 
Hi Manfred,
zum Thema sag ich nix, ist ja anscheinend gelöst.
Hast du gewusst dass uns Billi da ein übles Ei gelegt hat, was mich letztens mehrere Stunden Zeit kostete um auf den Fehler zu kommen.
Der VBA Befehl FIND funktioniert nicht in Functionen (erst ab Excel2003 oder so)
Ich wurde bei einer längeren Function fast wahbsinnig, sie funktionierte nicht, ich testete einges mit Test-Subs, *weia* dauerte echt lange bis ich auf den Fehler kam, in Subs findet FIND was, in Functions nix.
Nur mal so zur Info.
Gibt es eigentlich eine Internetseite, wo so unlogische Dinger gelistet sind?
Gruß
Reinhard
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
Hi Reinhard!
Hast du gewusst dass uns Billi da ein übles Ei gelegt hat, was
mich letztens mehrere Stunden Zeit kostete um auf den Fehler
zu kommen.
Das ist nicht das einzige. Gut, grundsätzlich sind ja Funktionen und Prozeduren unterschiedlich, und jedes sollte dort verwendet werden, wo es Sinn macht. Insofern finde ich es daher bei Access zum Beispiel total Klasse, dass man im Makro „AusführenCode“ nur Funktionen auswählen kann, obwohl das Ergebnis der Funktion nicht weiter ausgewertet wird.
Der VBA Befehl FIND funktioniert nicht in Functionen (erst ab
Excel2003 oder so)
Ich wurde bei einer längeren Function fast wahbsinnig, sie
funktionierte nicht, ich testete einges mit Test-Subs, *weia*
dauerte echt lange bis ich auf den Fehler kam, in Subs findet
FIND was, in Functions nix.
Nur mal so zur Info.
Gibt es eigentlich eine Internetseite, wo so unlogische Dinger
gelistet sind?
Keine Ahnung, aber eine solche täte mich auch brennend interessieren. Wenn Du/Ihr was hast/habt, die Info gerne auch an mich.
Vielen Dank,
Gruß, Manfred