[Excel] Tabelle sperren

josef24

Erfahrenes Mitglied
Hallo in die Runde. Ich bitte mal wieder um eure Hilfe. Ich habe einen Code in den Foren gefunden, der mir für einen bestimmten Bearbeiter eine Tabelle mit Passwort öffnen und schließen soll. Wenn ich nun den Code mit F8 durchgehe, bleibt er bei der Zeile "ws.Name" = "Tabelle1". Laufzeitfehler 1004, Anwendungs- oder Objekt-definierter Fehler. Ist nicht mit ws.name die Tabelle angesprochen? Ein zweites wäre noch die Auswahl in Spalte "E" in >= 10 und <= 20 in die richtige Funktion zu bringen. Für mich ebenfalls nicht erklärlich ist: Wenn ich aktiv war, wird eine neue Tabelle geöffnet. Hätte hierfür jemand eine Erklärung. Gruß Josef


Visual Basic:
   Sub createTable()
    Dim ws As Worksheet
    Dim user As String
    
    ' Definieren des Benutzernamens
    user = "user1"
    
    ' Erstellen eines neuen Arbeitsblatts
    Set ws = ThisWorkbook.Worksheets.Add
    
    ' Festlegen des Blattnamens
    ws.Name = "Tabelle1"
    
    ' Aktivieren des Arbeitsblatts
    ws.Activate
    
    ' Freigeben der Spalten E und F für den Benutzer
    ws.Protect Password:="user1", UserInterfaceOnly:=True
    ws.EnableSelection = xlUnlockedCells
    ws.Range("E:F").Locked = True
    ws.Range("E:F").Cells.Interior.ColorIndex = 15 ' gray color
    
    ' Bedingte Formatierung der Zellen in Spalte S
    ws.Range("E:E").FormatConditions.Add Type:=xlCellValue, Operator:=xlGreaterEqual, Formula1:="10"
    ws.Range("E:E").FormatConditions(ws.Range("E:E").FormatConditions.Count).Interior.ColorIndex = 15
    ws.Range("E:E").FormatConditions.Add Type:=xlCellValue, Operator:=xlGreaterEqual, Formula1:="20"
    ws.Range("E:E").FormatConditions(ws.Range("E:E").FormatConditions.Count).Interior.ColorIndex = 15
    ws.Range("E:E").FormatConditions(ws.Range("E:E").FormatConditions.Count).Font.Bold = True
    
    ' Schreiben des Benutzernamens in Zelle A1
    ws.Range("A1").Value = "Benutzer: user1 " & user
End Sub
 
Was ich nicht verstehe (sofern der Code da mal ankommt):
In Zeile 18 vergibt er einen Blattschutz (welcher später NICHT aufgehoben wird!)
In Zeile 20 sperrt er Spalten E und F

Oder hab ich grad nen Fenk-Dehler?
 
Zurück