Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

VBA: Zellsperre in freigegener Datei

Forumthread: VBA: Zellsperre in freigegener Datei

VBA: Zellsperre in freigegener Datei
15.03.2021 15:05:53
Berlebeck
Hallo zusammen,
folgendes Problem:
Ich habe eine Excel-Arbeitsmappe, auf die mehrere User zeitgleich Zugriff haben sollen (Freigabemodus = aktiv). In dieser Mappe sind bestimmte Zellen von Haus aus gesperrt, um ein Überschreiben zu verhindern.
Per Steuerungselement soll mit folgendem VBA-Code in Spalte A eine neue Fall-ID angelegt werden:

Sub CommandButton1_Click()
Dim chCell As Range
Dim chRng As Range
Set chRng = ActiveSheet.Range("A12:A5000")
'Erst Speichern, um Eingabekonflikte zu vermeiden
ActiveWorkbook.Save
ActiveSheet.Unprotect
'Wenn Spalte A dann neue Fall_ID vergeben
If ActiveCell.Column > 1 Then
MsgBox "ACHTUNG: Bitte wählen Sie eine leere Zelle in Spalte A aus"
ElseIf ActiveCell = "" Then
Sheets("Hilfsdaten").Cells(1, 2) = Application.Max(Sheets("Entwurf").Range("A12:A5000")) + 1
ActiveCell = Sheets("Hilfsdaten").Cells(1, 2)
Else
MsgBox "ACHTUNG: In dieser Zelle gibt es bereits eine Fall-ID"
End If
'Check cell value in body and lock cells with content
For Each chCell In chRng.Cells
If chCell.Value  "" Then
chCell.Locked = True
Else
chCell.Locked = False
End If
Next chCell
'Nach Vergabe der Fall-ID erneut speichern, um Eingabekonflikte zu vermeiden
ActiveSheet.Protect DrawingObjects:=True, _
Contents:=True, _
Scenarios:=True, _
AllowFiltering:=True
ActiveWorkbook.Save
End Sub


Das klappt auch soweit ganz ok, allerdings hätte ich gerne die Zellen in Spalte A auch gesperrt, sobald da Inhalt drin steht.
Nachdem ich nun immer einen "Laufzeitfehler 1004 - Unprotect-methode ..." bekomme, vermute ich dass es mit dem Zugriff bzw. Aufheben des freigabe-Modus zusammenhängt. Nachdem ich mit meine rudimentären VBA-Kenntnisse zusammengegooglet habe, stehe ich jetzt allerdings auf dem Schlauch und würde mich über Tipps oder Lösungsansätze sehr freuen.
Vielen Dank vorab und liebe Grüße
Berlebeck

Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA: Zellsperre in freigegener Datei
15.03.2021 16:16:38
ChrisL
Hi
Ich denke auch, die Freigabe und Idee betr. Unprotect beisst sich.
Folgende Idee:
- Spalte A generell schützen
- Mittels Formel die ID's aus einem Hilfsblatt beziehen: =WENN(Hilfsblatt!A1="";"";Hilfsblatt!A1)
- Das Hilfsblatt ausblenden
Private Sub CommandButton1_Click()
With Worksheets("Hilfsblatt")
.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0) = WorksheetFunction.Max(.Columns(1)) + 1
End With
End Sub
cu
Chris
Anzeige
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige