Mit nachfolgendem Code füge ich in einem Bereich weitere Zeilen ein,
indem der Cursor auf eine Zelle im Spaltenbereich E gesetzt wird
und durch betätigen der Schaltfläche Row Add above cursor position die darüber liegende Zeile kopiert und eingefügt wird (Kommentare und Werte werden nach dem Einfügen gelöscht).
Sub Row_add()
If Selection.Rows.Count > 1 Then
MsgBox "....", 16 + vbSystemModal, "falsche Markierung..."
Exit Sub
End If
On Error GoTo ErrExit
If MsgBox(Prompt:="Do you want to ADD a Row ABOVE the Cursor-Position?", _
Buttons:=vbYesNo, _
Title:="AddRow") = vbYes Then
ActiveSheet.Unprotect
Dim rConst As Range
If Selection.Row > 1 Then
Selection.Offset(-1).EntireRow.Copy
Selection.EntireRow.Insert
Application.CutCopyMode = False
On Error Resume Next
Set rConst = ActiveCell.EntireRow.SpecialCells(xlCellTypeConstants)
On Error GoTo 0
If Not rConst Is Nothing Then 'rConst.ClearContents
With rConst
.ClearContents
.ClearComments
End With
End If
ActiveSheet.EnableAutoFilter = True
ActiveSheet.Protect , DrawingObjects:=True, Contents:=True, Scenarios:=True
Else: Exit Sub
End If
ErrExit:
ActiveSheet.EnableAutoFilter = True
ActiveSheet.Protect , DrawingObjects:=True, Contents:=True, Scenarios:=True
Exit Sub
End If
End Sub
Ich arbeite in diesem Bereich mit bed. Formatierungen.
Momentan in der Beispielmappe:
=$M$7:$AS$33;$M$35:$AS$65
Wenn ich nun durch betätigen der Schaltfläche Row Add above cursor position
eine Zeile innerhalb des Bereiches hinzufüge, Beispielsweise zwischen (E18) M18 und (E19) M19,
dann verändert sich der Bereich der bed. Formatierung wie folgt:
=$M$7:$AS$18;$M$36:$AS$66;$M$20:$AS$34
Der Bereich passt sich entsprechend an, jedoch wird die neu eingefügte Zeile (hier die 19) nicht von der bedingten Formatierung erfasst.
Wisst ihr dafür eine Lösung? Meine Kenntnisse sind doch recht dürftig.
https://www.herber.de/bbs/user/97921.xlsm
Vielen Dank für jede Hilfe,
Gruß
Alex