Moin,
Das liegt sicher nicht an der Anzahl der Makros in der Mappe sondern daran, dass Du dieses Makro in eine Mappe bzw. in ein Modul schreibst, welches im Deklarationsbereich mit "Option Explicit" festlegt, dass verwendete Variablen explizit deklariert werden muessen. Die von Dir verwendeten Variablen muessen also vor Gebrauch angelegt werden. In Deinem Beispiel wuerde dies dann aussehen wie folgt:
Private Sub test()
Dim letzte As Long
letzte = ActiveSheet.Range("a65000").End(xlUp).Row
.
.
.
Und wenn ich damit dann richtig liege, dann wird auch noch ein weiterer Fehler sichtbar werden: die Excelkonstante
xlFormatFromAbove gibt es so nicht. Wenn Du nun
letzte also deklariert hast, wirst Du noch einen Fehler ernten, der auf dieses
xlFormatFromAbove zeigt. Richtig sollte diese ExcelKonstante wohl
xlFormatFromLeftOrAbove heissen.
Cu
TheBlackBird ®
btw: Wenn Du im VB-Editor auf Extras-> Optionen klickst, dann kannst Du dort im Register "Editor" einen Haken bei " VariablenDeklaration erforderlich" setzen. Dann wird auch bei Dir in allen neuen Modulen dieses "Option Explicit" stehen. Und dies ist in meinen Augen auch ratsam.
An Deinem Beispiel:
xlFormatFromLeftOrAbove hat den Wert 0
xlFormatFromRightOrBelow hat den Wert 1 (als Gegenteil Deiner Konstanten)
Wuerdest Du ohne "Option Explicit" z.B. bei der letzteren Konstanten einen aehnlichen Fehler machen wie in Deinem Code, und z.B.
xlFormatFromBelow schreiben, waere die Wirkung dennoch wie bei xlFormatFromLeftOrAbove.
Warum? Excel erkennt dieses falsche
xlFormatFromBelow nicht als Konstante und wertet es als Variable. Da dieser Variablen kein Wert zugewiesen worden ist, ist sie leer und duerfte somit in diesem Fall wie ein xlFormatFromLeftOrAbove wirken. (Mit Option Explicit kann genau das, und ein paar andere Fehler, nicht passieren. Auch wenn es anfangs evtl. nervig erscheint, alle Variablen deklarieren zu muessen... Es hilft Fehler zu vermeiden und/oder zu finden.)