Code erweitern
16.02.2025 23:23:23
JR2025
ein großer Dank an alle die schon auf meinen Beitrag geantwortet haben.
Leider funktioniert es aber noch nicht wie ich mir das vorstelle.
Das Problem mit den leeren Zellen habe ich durch das Kopieren aus einer Versteckten Spalte gelöst.
Damit funktioniert der Code schon fast perfekt.
Allerdings macht es sich erforderlich nicht am Monatsende die extra Zeile mit Summe einzufügen sondern Täglich.
Da hat aber mein Code den Nachteil, es wird bei allen schon eingefügten Zeilen noch eine Zeile eingefügt und das jeden Tag.
Für das Monatsende hatte ich schon eine Prüfung eingefügt ob der Code schon ausgeführt wurde.
Besteht die Möglichkeit Zeilen die schon eingefügt sind zu überspringen???
Sub Leerzeile()
Dim ErsteZeile As Long, LetzteZeile As Long, Spalte As Long, i As Long
Dim rng As Range
ErsteZeile = 7 ' Berechnung in der Tabelle beginnt in Zeile
LetzteZeile = 1945 ' letzte Zeile die berechnet wird
Spalte = 1 ' das ist die Spalte in der geprüft wird ob sich das Datum ändert
ActiveSheet.Unprotect
'If Range("X1") = 0 Then ' in der Zelle wird geprüft ob das Makro schon ausgeführt wurde
Range("W4:W1945").Copy 'in dieser verdeckten Spalte werden alle Zellen mit einer Zahl belegt, leere Zellen mit 0
Range("O4").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
For i = LetzteZeile To ErsteZeile Step -1
If Cells(i, Spalte) > Cells(i - 1, Spalte) Then
Rows(i).Insert (xlShiftDown)
Cells(i, 24) = 1
End If
Next i
For Each rng In Columns(15).SpecialCells(xlCellTypeConstants).Areas
rng(rng.Rows.Count + 1).Formula = "=sum(" & rng.Address & ")"
Next
' Else
' MsgBox ("Monatsabschluß wurde schon durchgeführt")
'End If
Range("C6").Select
End Sub
ich habe die Tabelle als Beispiel hochgeladen
https://www.herber.de/bbs/user/175716.xlsm
Danke für eure Mühe
bis später
Jörg
Anzeige