Hallo Holger,
ich bin jetzt etwas verwirrt.
Vorhin hast du geschrieben:
"Nun möchte ich, dass das Formular den Eintrag gleich mit solch einer Formel versieht"
Ich ging also davon aus, dass die Formel =Zeile()-3 nacher in der neuen Zeile stehen soll (nach deinem Code vermute ich mal Spalte A)
Laut deinem Code
Schreibst du aber in die 1. Spalte nun keine Formel sondern ermittelst den Maxwert, und trägst den gleich fest ein.
ActiveSheet.Cells(intErsteLeereZeile, 1).Value = WorksheetFunction.Max(Range("A:A"))
Was soll nun sein?
Soll in Spalte A nun eine Formel rein, oder ein Fester Wert, also die nächste höhere Zahl?
Und dies
intErsteLeereZeile = ActiveSheet.Cells(5, 2).FormulaLocal = "=ZEILE()-3"
ermittelt dir natürich nicht die lezte Zeile in deinem Blatt, sondern prüft ob in Zelle B5 die Formel =Zeile()-3 steht.
Was vermutlich nicht der Fall ist.
das Cells(5,2) war von mir auch nur ein Beispiel 5 und 2 mußt du natürlich an dein Code anpassen.
Für 5 dann vermutlich "intErsteLeereZeile" und für 2 dann eher 1. (Wenn in Spalte 1 die Formel rein soll)
Noch ein Tipp mit dem folgenden Code ermittelst du die letzte gefüllte Zeile in Spalte A
intErsteLeereZeile = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row
Ach ja, und du solltest dein Formular nicht gleich am Anfang killen, sondern erst nachdem dein Code ausgeführt ist.
VBA ist zwar so tollerant, dass es deinen Code erst mal weiter ausführt, aber korrekt ist das nicht.
|