Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1224to1228
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

einzelne Zelle bei deaktiviertem Blattschutz sperr

einzelne Zelle bei deaktiviertem Blattschutz sperr
thomas
Hallo Leute
Ich möchte gern eine Zelle Sperren die auf keinen fall gelöscht werden darf.
Der Blattschutz ist immer aktiviert und wird durch ein "Löschen" Makro aufgehoben, welches
Zellen löschen darf, die aber manuell auch nicht bearbeitet werden dürfen.
Nun habe ich folgendes Problem.
Wenn mann versehendlich zu viele Zeilen löscht ist auch besagte Zelle weg.
Hier der Code, den ich gerne um die Funktion "Zelle A13" sperren erweitern will. (Die Zelle A13
heißt bei mir Zeile.Position1.)
Sub Loeschen_Positionen()
ActiveSheet.Unprotect Password:="xxxx"
'löscht Zeilen am Ende der Liste
Dim Zeile As Long, Zeilen As Long, wks As Worksheet
Set wks = ActiveSheet
With wks
Zeile = .Range("Trennzeile").Row
'Zeilen eingeben
Zeilen = Application.InputBox(Prompt:="Anzahl der zu löschenden Positionen?", _
Title:="Positionszeilen - löschen ", Default:=2, Type:=1)
If Zeilen > 0 Then
'Zeilen löschen
For Zeilen = 1 To Zeilen
.Rows(Zeile - 1 - Zeilen - 1).Delete shift:=xlShiftUp
Next
End If
End With
ActiveSheet.protect Password:="xxxx"
End Sub

Weiß jemand einen Rat
Gruß thomas

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: einzelne Zelle bei deaktiviertem Blattschutz sperr
07.08.2011 04:39:03
Gerd
Hallo Thomas!
For Zeilen = Zeilen To 1 Step -1
IF Zeile - 1 - Zeilen - 1 13 Then .Rows(Zeile - 1 - Zeilen - 1).Delete shift:=xlShiftUp
Next
Besser wäre, Du gibst Zeile 13 oder A13 einen Namen u. nimmst bei der Prüfung darauf Bezug, weil sonst beim zweiten Starten des Makros Zeile 13 ggf. eine andere Position hat.
Gruß Gerd
AW: einzelne Zelle bei deaktiviertem Blattschutz sperr
07.08.2011 13:51:33
thomas
Hallo Gerd
Danke für deine Antwort.
Zelle A13 hat ja einen Namen und zwar Zeile.Position1
Allerdings, wenn ich mit deiner Lösung die Zelle nicht Sperre sondern nur das löschen umgehe, habe ich das Problem, dass alle Zeilen vor Zelle 13 auch gelöscht werden können und alle Zeilen nach Trennzeile auch.
Ich erkläre es mal genauer
Ich möchte in meiner Tabelle Zeilen einfügen und löschen können.
Aber dies soll nur zwischen Zelle "Zeile.Position1" (A13) und Zelle "Trennzeile" sein.
Das einfügen ist ja kein Problem, da ein Makro einfach vor Zelle "Trennzeile" neue Zeilen
einfügt.
Beim löschen ist es nur nicht mehr so einfach, da soll er weder die Zeile "Trennzeile" und abwärts löschen,
noch soll er die Zeile "Zeile.Position1" (A13) und aufwärts löschen.
Hast du dafür auch eine Lösung für mich?
Es wäre nett, wenn du die Lösung in den von mir gesendeten Code eintragen könntest.
Ich habe so gut wie kaum Ahnung von VBA.
Anzeige
AW: einzelne Zelle bei deaktiviertem Blattschutz sperr
09.08.2011 22:28:08
Daniel
Hallo Thomas
Ich habe Dein Code so umgebaut, dass die Anzahl zu löschenden Zeilen begrenzt wird. Und zwar maximal soviele Zeilen, wie zwischen der Trennzeile und Position1 vorhanden sind:
Sub Loeschen_Positionen()
ActiveSheet.Unprotect Password:="xxxx"
'löscht Zeilen am Ende der Liste
Dim ZeileA, ZeileB, AnzahlZeile As Long, Zeilen As Long, wks As Worksheet
Set wks = ActiveSheet
With wks
ZeileA = .Range("Trennzeile").Row
ZeileB = .Range("Position1").Row
AnzahlZeile = ZeileA - ZeileB - 1
'Zeilen eingeben
ERNEUT:
Zeilen = Application.InputBox(Prompt:="Anzahl der zu löschenden Positionen?", _
Title:="Positionszeilen - löschen ", Default:=2, Type:=1)
If Zeilen > AnzahlZeile Then
MsgBox "Du kannst nicht soviele Zeilen löschen maximal " & AnzahlZeile
GoTo ERNEUT
End If
If Zeilen > 0 Then
'Zeilen löschen
For Zeilen = 1 To Zeilen
.Rows(ZeileA - Zeilen).Delete shift:=xlShiftUp
Next
End If
End With
ActiveSheet.protect Password:="xxxx"
End Sub
Ich hoffe, es dient Dir so
Grüsse aus der Schweiz
Daniel
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige