Ich versteh das Problem nicht. Natürlich muss es einen Fehler geben, wenn ein Macro im selben Macro benutzt wird, weil es eben nicht einer Prozedur gleichzusetzen ist. Der Code im Macro wird ja komplett genommen und an alle Stellen im Code, wo das Macro aufgerufen wird kopiert. Da eben nicht mit Referenzen gearbeitet wird, sondern mit Kopien, müsstest du lediglich den Platz für unendlich Kopien haben, dann würds funktionieren. Und dass dadurch eine Fehlermeldung generiert wird ist doch mehr als wünschenswert.
Es währe Praktisch, wenn das Macro in sich nicht verwendet wird, da man dort einen dummen Fehler bekommt.
Klar, es gibt ja auch keinen Fehler im Programm, wenn man ein Macro auch nicht in sich selbst packt. Das macht ja auch null Sinn.
Optimismus ist ein Mangel an Information.