Hallo A.
Ich glaube das geht nicht! Zumindest nicht auf elegantem Weg. Du kannst nur die Zeilen eines zuvor festgelegten Codefensters auslesen. Aber nicht den Namen der Prozedur in der sich der Pointer beim Durchlaufen grade befindet.
Vorschlag: Definiere eine öffentliche Variable im Modulkopf eines Standardmoduls. Schreibe zu Beginn einer jeden Prozedur sowie nach der Rückkehr von eventuellen Unterprozeduren deren Namen in die Variable. Anschließend kannst du die Variable zu einem beliebigen Zeitpunkt auswerten.
z.B. Code für Modul1
Public AktProc As String
Sub Prozedur1()
Dim Proc As String
Proc = "Prozedur1"
AktProc = Proc
Debug.Print AktProc
'+ Sonstiger Code
Call Prozedur2 'Aufruf einer Unterprozedur
AktProc = Proc
Debug.Print AktProc
'+ weiterer Code
End Sub
Sub Prozedur2()
AktProc = "Prozedur2"
Debug.Print AktProc
'+ Sonstiger Code
End Sub
Du musst allerdings bei Änderungen im Namen einer Prozedur auch den entsprechenden Text für die Variable anpassen. Da wirst du nicht umhinkommen. Ein eleganterer Weg ist zumindest mir nicht bekannt.
Gruß Mr. K.