ich bin EXCEL-VBA-Anfänger und habe eine Funktion geschrieben, mit der ich die Monate ermittle, die jemand in 2016 i Status Altersteilzeit aktiv ist.
wenn ich das Makro in einer Tabellenzeile eingebe und Enter drücke, bekomme ich den richtigen Wert. Wenn ich die Funktion aber in die ganze Spalte kopiere, bekomme ich für alle Zeilen den gleichen Wert - vermutlich den der ersten Zeile mit Aufruf.
Gehe ich wieder in die Einzelzeilen, wähle den Eintrag und drücke Enter, ist wieder alles ok. Was mache ich falsch?
Hier meine Funktion
Function Monataktiv2016()
Dim reihe As Integer
Dim AM, Jahresanfang, Jahresende As Date
Dim Monat As Integer
'AM enthält das Beginndatum der aktiven ATZ-Zeit
reihe = ActiveCell.Row
AM = Cells(reihe, 39)
Jahresanfang = "01.01.2016"
Jahresende = "31.12.2016"
If DatePart("yyyy", AM) = DatePart("yyyy", Jahresende) Then
Monataktiv2016 = DateDiff("M", Jahresanfang, AM)
ElseIf DatePart("yyyy", AM)