ich kann über nachfolgenden Code einen Datensatz einfügen in einen Blatt. Abgelegt ist der Datensatz im Register Datensatz.
Sub ZeileEinfügen()
Dim ws As Worksheet, wsV As Worksheet, z%
Set ws = ActiveSheet
Set wsV = ThisWorkbook.Worksheets("Datensatz")
Application.EnableEvents = False
With Worksheets("Aufstellung Brandschutzklappen")
.Unprotect Password:="sperl"
Selection.EntireRow.Insert Shift:=xlDown
z = ActiveCell.Row
wsV.Rows("5:5").Copy ws.Range("A" & z)
Worksheets("Aufstellung Brandschutzklappen").Protect Password:="sperl"
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True _
, AllowFiltering:=True
End With
Ebenso habe ich die Möglichkeit den Datensatz wieder zu löschen.
Sub ZeileLöschen()
Dim rngBereich As Range
Set rngBereich = Range("A16:EU999") 'Hier den Bereich angeben !
If Intersect(ActiveCell, rngBereich) Is Nothing Then
Else
Worksheets("Aufstellung Brandschutzklappen").Unprotect Password:="sperl"
Selection.EntireRow.Delete
Worksheets("Aufstellung Brandschutzklappen").Protect Password:="sperl"
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True _
, AllowFiltering:=True
End If
End Sub
Leider ist es so, dass nicht nur ich diese Arbeitsmappe nutzen werde.
Deshalb möchte ich um Fehler zu vermeiden, den Bereich in dem die Makro ausgeführt werden können vorgeben.
Das Ganze soll soll zwischen Zeile 5 und 6 stattfinden. Hier darf eingefügt und gelösch werden.
Wird nun eine Zeile eingefügt erhöht sich der Gültigkeitsbereich von Zeile 5 bis auf 7.
Wird eine Zeile gelöscht geht es wieder zurück auf Zeile 5 und 6.
Ebenso darf es nicht möglich sein, die Zeile 5 und 6 zu löschen wenn nur noch die Zeile 5 und 6 vorhanden ist.
Ich hoffe ihr versteht was ich will. Ich möchte praktisch Grenzzeilen
definieren innerhalb dieser die Makros ausgeführt werden können.
Ich habe selber schon rumgebastelt (Siehe die Zeile löschen Funktion),
jedoch gelingt es mir nicht, die eigentliche Funktion umzusetzen.
Ich hoffe mit kann jemand helfen.
Besten Dank im Voraus.
Gruss