Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

VBA: Zeile ensperren, wenn Wert in Zelle

VBA: Zeile ensperren, wenn Wert in Zelle
11.09.2018 13:33:28
Boris
Hallo Forum,
ich versuche mich schon eine Weile an folgender Aufgabenstellung:
Workbook mit 5 Sheets, alle Zellen der Sheets locked, alle Sheets protected durch folgenden Code in ThisWorkbook:
Option Explicit
Private Sub Workbook_Open()
'Protect all Sheets
Dim ws As Worksheet
For Each ws In Worksheets
ws.Protect Password:="123"
Next ws
End Sub
Nun soll aber jeweils in Sheet1-3 die Zeilen editierbar sein, wenn in der ersten Zelle der jeweiligen Zeile der Wert ("A") ist, ansonsten soll die jeweilige Zeile gesperrt bleiben.
Ich habe schon einige gefundene Schnipsel ausprobiert und versucht abzuwandeln, leider ohne Erfolg. Somit wäre ich für eine maßgeschneiderte Antwort dankbar.
Gruß Boris

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA: Zeile ensperren, wenn Wert in Zelle
11.09.2018 13:47:32
ChrisL
Hi Boris
Ich würde es ohne VBA über eine Gültigkeitsprüfung lösen. Formel ist:
=$A1="A"
cu
Chris
AW: VBA: Zeile ensperren, wenn Wert in Zelle
11.09.2018 15:10:27
Torsten
pack den folgenden code in jedes worksheet, wo das sein soll
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
ActiveSheet.Unprotect "123"
For Each cell In Range("A1:A500")
If cell.Value  "A" Then
cell.EntireRow.Locked = True
End If
Next cell
ActiveSheet.Protect "123"
End Sub
Nur noch die Endzeile abaendern, falls es mehr als 500 Zeilen gibt.
Gruss Torsten
AW: VBA: Zeile ensperren, wenn Wert in Zelle
11.09.2018 17:18:02
Torsten
Hallo nochmal,
mach den code besser in
Private Sub Worksheet_Activate()
dann wird es nur einmal ausgefuehrt, wenn das Blatt aktiviert wird.
Ansonsten rennt der code jedesmal, wenn man die Zelle wechselt.
Anzeige
AW: VBA: Zeile ensperren, wenn Wert in Zelle
12.09.2018 13:33:59
Boris
Vielen Dank für die Antworten.
Ich habe den Code eingefügt, leider bekomme ich eine Fehlermeldung, egal in welche Zelle ich etwas schreiben möchte: ...to make change, unprotect the sheet...
Irgendwie wird der Code nicht ausgeführt.
Gruss Boris
AW: VBA: Zeile ensperren, wenn Wert in Zelle
13.09.2018 09:54:12
Torsten
Hallo Boris,
ich habe den code bei mir getestet. Es funktioniert. Wenn in Spalte A (also erste Zelle der Zeile) ein "A" steht, kann ich in dieser Zeile Veraenderungen vornehmen. In den anderen Spalten nicht.
Was heisst denn bei dir "erste Zelle in der Zeile"?
AW: VBA: Zeile ensperren, wenn Wert in Zelle
13.09.2018 09:55:54
Torsten
kannst du mir deine Datei mal hochladen? Dann kann ich eventuell sehen, woran es hapert.
Anzeige
AW: VBA: Zeile ensperren, wenn Wert in Zelle
13.09.2018 13:32:05
Boris
Hallo Torsten,
was ich brauche ist folgendes:
wenn A1="A" dann A1 bis P1 editierbar, ansonsten A1 bis P1 weiterhin gesperrt,
wenn A2="A" dann A2 bis P2 editierbar, ansonsten A2 bis P2 weiterhin gesperrt,
laufen soll ganz ganze im Bereich A1 bis A50
Datei anbei: https://www.herber.de/bbs/user/123920.zip
Danke Dir für die Nachsuche

365 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige