Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
968to972
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
968to972
968to972
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Benutzer Zugriff

Benutzer Zugriff
13.04.2008 11:40:00
amin
Hallo alle zusammen,
hab einige Fragen und hoffe dass sich jemand auskennt und mir helfen kann.
Als erstes würd ich gern wissen, wenn ich in Excel 2003 die Arbeitsmappe speicher, kann ich diese dann in Excel 2000 öffnen?
Die andere Frage ist ein bisschen komplexer. Und zwar geht es darum, dass 20 Mitarbeiter nur die Zeile bearbeiten dürfen die Ihnen zusteht.
Also Mitarbeiter 1 gibt Passwort ein und darf die Zeile x und Spalten yyyyyyy in Tabelle beschreiben.
So kann kein Mitarbeiter bei einem anderen Mitarbeiter rumferkeln. Weil diese Zeilen dann gesperrt sind.
Jeder Mitarbeiter erhällt ein Passwort den er beim Öffnen der Arbeitsmappe eingeben muss.
Wär dankbar für Hilfe.
Gruß amin

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

Betreff
Datum
Anwender
Anzeige
AW: Benutzer Zugriff
13.04.2008 12:20:00
Tino
Hallo,
du hast zwar VBA nein angegeben, aber vielleicht gefällt es dir ja doch.
zu deiner zweiten Frage.
Als Code in „DieseArbeitsmappe“
Option Explicit
Const Passwort As String = "Passwort"

Private Sub Workbook_BeforeClose(Cancel As Boolean)
With Tabelle1
.Unprotect Passwort
.Cells.Locked = True
End With
ThisWorkbook.Save
End Sub



Private Sub Workbook_Open()
Dim UserN As String
Dim Bereich As Range
UserN = Environ("USERNAME")
With Tabelle1
.Unprotect Passwort
.Cells.Locked = True
Select Case UserN
Case "amin"
Set Bereich = .Range("A:A") 'darf diesen bereich verwenden
Case "MuseterUser"
Set Bereich = .Range("B:B") 'darf diesen bereich verwenden
Case Else
.Cells.Locked = True
GoTo ende:
End Select
Bereich.Locked = False
ende:
.Protect Passwort
End With
Set Bereich = Nothing
End Sub


Gruß
Tino

Anzeige
da fehlt noch was
13.04.2008 12:38:55
Tino
Hallo,
da hat noch Protect beim schließen gefehlt. sorry

Private Sub Workbook_BeforeClose(Cancel As Boolean)
With Tabelle1
.Unprotect Passwort
.Cells.Locked = True
.Protect Passwort
End With
ThisWorkbook.Save
End Sub


Gruß
Tino

AW: da fehlt noch was
13.04.2008 18:47:33
amin
Danke, aber irgendwie bekomm ich das nicht hin.
Soll der ganze Code in die Arbeitsmappe?

AW: da fehlt noch was
13.04.2008 19:34:00
Tino
Hallo,
hier ein Demo Video.
Drücke in Excel Alt + F11, gehe in "DieseArbeitsmappe" und füge den Code ein.
https://www.herber.de/bbs/user/51505.zip
Gruß
Tino

Anzeige
;) trotzdem...
14.04.2008 06:16:00
amin
Hallo Tino,
danke für das Demo Video. Soweit hatte ich es aber schon verstanden.
Also nur um festzustellen ob ich richtig liege, ich schmeiß den Code in "DieseArbeitsmappe" und tu das ganze mal abspeichern.
Wenn ich die Mappe neu öffne, ist die komplette Seite Tabelle1 gesperrt. Dann geh ich auf Blattschutz aufheben und geb da jeweils das entsprechende Passwort ein um die entsprechende Zeile zu öffnen.
Soweit richtig? Wenn ja hab ich es wies aussieht verstanden, allerdings hätte ich da noch eine Frage ;)
Im Code steht ja ("A:A")
Brauch des aber für bestimmten Zeilen, also Benutzer 1 darf ("C3:K3") & ("L3:R3") verwenden.
Schreib ich da dann:
Case "Benutzer1"
Set Bereich = .Range("C3:K3") & ("L3:R3") 'darf diesen bereich verwenden
?
Gruß amin

Anzeige
AW: ;) trotzdem...
14.04.2008 06:51:00
Tino
Hallo,
da hast du es falsch verstanden.
UserN = Environ("USERNAME")
Liest den am System angemeldeten User aus.
Case "amin"
Set Bereich = .Range("A:A")

Ist der Systemuser in diesem Beispiel amin,
so wird ihm der Bereich A:A freigegeben.
Case "MusterUser", "MusterFrau"
Set Bereich = .Range("C1:G20")

Ist der Systemuser MusterUser oder MusterFrau so bekommt er oder sie
Den Bereich C1:G20 freigegeben
Dies kannst du nun beliebig erweitern und
es muss keiner ein Passwort am Anfang eingeben.
Dies vergibt der Admin dieser Mappe im Code
Const Passwort As String = "Passwort"
Hier noch mal der Code mit Kommentaren

Option Explicit
Const Passwort As String = "Passwort" 'Admin Password
Private Sub Workbook_BeforeClose(Cancel As Boolean)
With Tabelle1
.Unprotect Passwort
.Cells.Locked = True ' vor dem schließen alle Zellen Sperren
.Protect Passwort
End With
ThisWorkbook.Save
End Sub
Private Sub Workbook_Open() 'beim öffnen
Dim UserN As String
Dim Bereich As Range
UserN = Environ("USERNAME") 'System User
With Tabelle1
.Unprotect Passwort
.Cells.Locked = True
Select Case UserN
Case "amin" 'System User amin
Set Bereich = .Range("A:A") 'darf diesen bereich verwenden
Case "MusterUser", "MusterFrau"  'System User MusterUser oder Musterfrau
Set Bereich = .Range("B:B") 'darf diesen Bereich verwenden
Case "MusterUser", "MusterFrau" 'User...
Set Bereich = .Range("C1:G20") 'darf diesen Bereich verwenden
Case "TestUser"  'User...
Set Bereich = .Range("C1:G20,A1:B300") 'darf diesen Bereich verwenden
Case "Admin" 'Admin User...
Set Bereich = .Cells 'Administrator darf alle Zellen verwenden
Case Else 'ist der User nicht dabei, alle Sperren
.Cells.Locked = True
GoTo ende:
End Select
Bereich.Locked = False
ende:
.Protect Passwort
End With
Set Bereich = Nothing
End Sub


Gruß
Tino

Anzeige
ohh danke...
14.04.2008 06:57:00
amin
Ahhh... ok, jetzt funktioniert es... jetz bin ich schlauer. Danke, auch für die Erklärungen.
Gruß amin

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige