Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1820to1824
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

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

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

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige