931 Aufrufe
Gefragt in WindowsXP von medion100 Einsteiger_in (5 Punkte)
Hallo, ich bin neu hier.
Eine von mir entworfene Excel Datei hat im Tabellenblatt 10 Spalten.
In den Spalten 1 bis 4 kann jeder eingaben machen. Spalte 5 ist durch Passwort nur für berechtigte User bearbeitbar, In Spalte 10 soll nach Eingabe "Name" und Return dann die Gesamte Zeile zur weiteren Eingabe gesperrt werden.
Die nächste Zeile soll wieder frei sein wie oben und der Vorgang soll sich in Spalte 10 bis zur Zeile 150 wiederholen können.
Kann jemand helfen???

1 Antwort

0 Punkte
Beantwortet von m-o Profi (22.9k Punkte)
Hallo Günter,

das kannst du z.B. so machen:

Private Sub Worksheet_Change(ByVal Target As Excel.Range)

'Makro verlassen, falls aktuelle Zeile größer als 150 ist
If Target.Row > 150 Then Exit Sub

If Cells(Target.Row, 10) = "Name" Then
ActiveSheet.Unprotect "Passwort"
Range(Cells(Target.Row, 1), Cells(Target.Row, Columns.Count)).Locked = True
ActiveSheet.Protect "Passwort"
End If

End Sub


Der Code gehört in das VBA-Projekt des betreffenden Arbeitsblattes. Ich gehe davon aus, dass alle Zellen erst einmal nicht gesperrt sind.
Falls du keinen Passwortschutz willst, lösche einfach "Passwort". Hast du einen Passwortschutz, musst du das Passwort natürlich anpassen.
Ggf. musst du schauen, dass das Makro nicht den Passwortschutz für deine Spalte 5 aushebelt.

Gruß

M.O.
...