Funktionsname

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
MsgBox
Bild

Betrifft: Funktionsname von: kristin
Geschrieben am: 08.02.2005 17:15:09

hallo,

sagt mal, kann ich mir eingentlich den aktuellen Funktions- bzw. Sub-Namen zurückgeben lassen?

z.B.


Sub werBinIch()
Dim meinName as String
meinName = werBinIch.Name
MsgBox meinName
End Sub


viele Grüße,
kristin
Bild


Betrifft: AW: Funktionsname von: Udo
Geschrieben am: 08.02.2005 17:28:25


Sub werBinIch()
Dim meinName as String
meinName = "werBinIch"
MsgBox meinName
End Sub


Udo


Bild


Betrifft: AW: Funktionsname von: andre
Geschrieben am: 08.02.2005 17:41:33

Hallo kristin,
wie Udo schon geschrieben hat den Namen einer Variable zuordnen oder wenn Du weist in welcher Zeile der Name steht, kann man natürlich auch prüfen - wird nur bei mehreren Sub's fast nix gescheites - dann im Prinzip so:

Sub test()
MsgBox Application.VBE.ActiveCodePane.CodeModule.Lines(1, 1) '

Sub steht hier in Zeile 1
End Sub



Bild


Betrifft: AW: Funktionsname von: Kristin
Geschrieben am: 08.02.2005 17:55:38

Hallo Andre,

im Prinzip ist es das was ich suche, nur dass es wohl auch etwas 'unsauber' ist, oder?
Wie du schon sagst, mit mehreren Subs geht das nicht.

Schade, aber ein bißchen Copy/Paste hat ja noch keinem geschadet ... :)

danke + gruß,
kristin


Bild


Betrifft: AW: Funktionsname von: Kristin
Geschrieben am: 08.02.2005 17:49:02

hehe, gute Idee Udo,

klar so geht's... meine Frage war aber auch undeutlich gestellt.
Also ich habe so ca. 40 Funktionen/Subs (alle Ereignisse des Workbooks + die des ersten Sheets + ein paar eigne Funktionen). In jeder dieser Funktionen/Subs soll nun etwas geprüft werden. Ich muss aber wissen, aus welcher Funktion ich komme!

Wenn ich es so mache wie Du es schreibst (und wie ich es bisher gemacht habe - statisch) muss ich bei jeder Änderung des Programm-Codes mühsam per Hand alles ersetzen ("suchen+ersetzen" geht schlecht, eben weil ich immer auf den String aufpassen muss).

wahrscheinlich ist das totaler quatsch. Ich glaub mein Kopf braucht ne Pause.
gruß,
kristin


Bild


Betrifft: AW: Funktionsname von: andre
Geschrieben am: 08.02.2005 17:57:15

.. warum mühsam alles ersetzen? Wenn sich ein codename ändert dann änderst Du es noch dort wo reingeschrieben und dort wo geprüft wird was in meinName steht ...
Mit Suchen und ersetzen gehts auch, ausser Du hast werBinIch und werBinIchNicht - da wird es schwieriger. Aber da ersetzt Du erst werBinIchNicht gegen was was keiner hat, dann werBinIch und dann machst Du aus dem was keiner hat wieder werBinIchNicht ;-)

oder Du gibst den Namen beim Aufruf mit:

Sub werBinIch()
ausgabe "werBinIch"
End Sub


Sub Ausgabe(meinName as String)
select case meinName
case "werBinIch"
  msgbox "BinIchNichtToll"
end select
End Sub



Bild


Betrifft: AW: Funktionsname von: Kristin
Geschrieben am: 08.02.2005 18:10:20

hehehe, ich lach mich tot... Andre, jetzt bin ich aber total durch'n Tüddl..

also bei mir ist es eher so:


Sub Worbook_Activate()
ganz viel Code
Call irgendeineFunction("Worbook_Activate")
und noch mehr code
End Sub



Sub Worbook_Deactivate()
ganz viel Code
Call irgendeineFunction("Worbook_Deactivate")
und noch mehr code
End Sub



und wenn ich jetzt vorher oder nachher was ändere ist das bei so vielen Subs echt nervig..
egal...danke für den Versuch

Gruß,
Kristin


Bild


Betrifft: :)) - werbinich - werbinichnicht - oT. von: Kristin
Geschrieben am: 08.02.2005 18:13:36

.


Bild


Betrifft: .. wenigstens gab's vor der Arbeit etwas Spaß, oT. von: andre
Geschrieben am: 08.02.2005 18:19:15




 Bild

Beiträge aus den Excel-Beispielen zum Thema "Ansicht"