Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  Excel
  Zugriffsrechte für verschiedene User vergeben

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
Autor Thema:  Zugriffsrechte für verschiedene User vergeben (14195 mal gelesen)
Ralf_A
Mitglied



Sehen Sie sich das Profil von Ralf_A an!   Senden Sie eine Private Message an Ralf_A  Schreiben Sie einen Gästebucheintrag für Ralf_A

Beiträge: 269
Registriert: 14.10.2002

erstellt am: 22. Dez. 2004 09:25    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo zusammen,

ich habe mit Excel einen Urlaubsplaner erstellt. In den Zeilen die Mitarbeiter und in den Spalten die einzelnen Kalendertage. Trage ich in eine Zelle ein „U“ ein wird ein Urlaubstag abgezogen und ich kann am Ende der Tabelle sehen, wieviel Urlaub jeder Mitarbeiter noch hat, das funtioniert alles ganz super. Ich möchte die Datei für jeden auf einem Datenserver zugänglich machen. Jetzt meine Frage bezüglich der Zugriffsrechte. Für alle ist die Tabelle komplett sichtbar, Schreibrechte sollen jedoch für die Mitarbeiter begrenzt werden. D.h Mitarbeiter Meier darf also nur die Zeile von Mitarbeiter Meier ändern, damit dieser nicht versehentlich die geplanten Urlaubstage des Kolegen Müller ändert. Nur der Abteilungsleiter darf bei allen Mitarbeitern Änderungen durchführen. Wir arbeiten mit Windows 2000 und jeder Mitarbeiter ist mit seinem Namen als Benutzer angemeldet.

Ich hoffe ihr versteht meine Idee und könnt mir helfen

Danke im voraus und Frohes Fest

Ralf

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

fossy
Mitglied
Dipl.-Ing. Maschinenbau (Kraftfahrzeugtechnik)


Sehen Sie sich das Profil von fossy an!   Senden Sie eine Private Message an fossy  Schreiben Sie einen Gästebucheintrag für fossy

Beiträge: 943
Registriert: 07.02.2001

Der einzige Mensch, der sich vernünftig benimmt, ist mein Schneider. Er nimmt jedesmal neu Maß, wenn er mich trifft, während alle anderen immer die alten Maßstäbe anlegen in der Meinung, sie passten auch heute noch. (George Bernard Shaw, ir. Dramatiker, 1856-1950)

erstellt am: 22. Dez. 2004 14:53    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Ralf_A 10 Unities + Antwort hilfreich

hi,

ansatz:
standartmäßig sind alle zellen gesperrt.
beim start der excel-datei wird dann der benutzer abgefragt und die sperre der entsprechende zeile über suchen abgeschaltet.
beim beenden wird dann die zeile wieder gesperrt und excel speichert die datei.

------------------
cu
fossy
          meine kleine website

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Ralf_A
Mitglied



Sehen Sie sich das Profil von Ralf_A an!   Senden Sie eine Private Message an Ralf_A  Schreiben Sie einen Gästebucheintrag für Ralf_A

Beiträge: 269
Registriert: 14.10.2002

erstellt am: 22. Dez. 2004 15:38    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo fossy,

genauso sollte es sein. Wie kann man das umsetzen?

Gruß Ralf

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Thomas Harmening
Moderator
Arbeiter ツ




Sehen Sie sich das Profil von Thomas Harmening an!   Senden Sie eine Private Message an Thomas Harmening  Schreiben Sie einen Gästebucheintrag für Thomas Harmening

Beiträge: 2897
Registriert: 06.07.2001

Das Innerste geäussert
und aufs Äusserste verinnerlicht

erstellt am: 22. Dez. 2004 19:31    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Ralf_A 10 Unities + Antwort hilfreich

Arbeitsmappe
Code:
Private Sub Workbook_Open()
Call rechte
End Sub
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
'hier wird vorm Speichern immer das Arbeitsblatt komplett geschützt
Sheets("Mitarbeiter").Protect (["test"]), DrawingObjects:=True, Contents:=True, Scenarios:=True
Sheets("Mitarbeiter").Visible = 2 ' voraussetzung es ist nicht das einzige Blatt
End Sub
Modul
Code:

Declare Function GetUserName Lib "advapi32.dll" _
      Alias "GetUserNameA" (ByVal lpBuffer As String, _
      nSize As Long) As Long
Sub rechte()
Dim B As String * 100
      Dim L As Long
      L = 100
GetUserName B, L
'damit das Makro im PW-geschütztem Blatt läuft
Sheets("Mitarbeiter").Protect (["test"]), userinterfaceonly:=True
'tharmen ist Chef , eventuell weitere userid dem Chef gleichberechtigen ;-)
If Left(B, L - 1) = "tharmen" Or Left(B, L - 1) = "weitereChefuserId" Then
Sheets("Mitarbeiter").Visible = 1 'Blatt sichtbar schalten
Sheets("Mitarbeiter").Unprotect (["test"])
Else
'hier werden einzelne Bereiche freigeschaltet
'- leider nicht gerade schön,
' da man für jeden User eine abfrage machen muss
' mein Wissen reicht zu mehr nicht aus
If Left(B, L - 1) = "user2" Then
Sheets("Mitarbeiter").Visible = 1
Range("A2:J2").Locked = False 'Zellbereich zum beschreiben freigeben
Else
If Left(B, L - 1) = "user3" Then
Sheets("Mitarbeiter").Visible = 1
Range("A3:J3").Locked = False
Else
'für unberechtigte Blatt auf veryhidden setzen
Sheets("Mitarbeiter").Visible = 2
End If
End If
End If
End Sub

obiges sollte Unbefugten die Ansicht der Tabelle "Mitarbeiter" komplett unterbinden,
Cheffe hat ein ungeschütztes Blatt (weia ;-) )
und für die einzelnen User wird ein Bereich freigeschalten zum schreiben...

[Diese Nachricht wurde von Thomas Harmening am 22. Dez. 2004 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Ralf_A
Mitglied



Sehen Sie sich das Profil von Ralf_A an!   Senden Sie eine Private Message an Ralf_A  Schreiben Sie einen Gästebucheintrag für Ralf_A

Beiträge: 269
Registriert: 14.10.2002

erstellt am: 06. Jan. 2005 08:09    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities


UrlaubslisteTest1.zip

 
Hallo alle und frohes neues,

Visual Basic ist nun mal nicht gerade so mein Ding. Ich habe noch etwas an der Datei gearbeitet und dabei Zeilen und Spalten getauscht. Ich habe die Datei mal angehängt. Es soll jeder Mitarbeiter alles sehen können. Mitarbeiter 1 darf über Passwort alles bearbeiten können. Die anderen Mitarbeiter dürfen nur in der jeweiligen Spalte von Zeile 3 bis 369 Einträge machen. Jeder Mitarbeiter ist mit seinem Namen als User angemeldet, arbeite mit Office 2000.

Gruß Ralf

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Thomas Harmening
Moderator
Arbeiter ツ




Sehen Sie sich das Profil von Thomas Harmening an!   Senden Sie eine Private Message an Thomas Harmening  Schreiben Sie einen Gästebucheintrag für Thomas Harmening

Beiträge: 2897
Registriert: 06.07.2001

Das Innerste geäussert
und aufs Äusserste verinnerlicht

erstellt am: 06. Jan. 2005 23:04    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Ralf_A 10 Unities + Antwort hilfreich


CopyofUrlaubslisteTest1.xls.txt

 
versuche mal diese angehängte Excelsheet, habe mal versucht das gewünschte einzubauen, die Mitarbeiter 1 - Mitarbeiter 10 sind an die Usderid anzupassen
Code:
Sub rechte() 'neuer code
    Dim B As String * 100
          Dim L As Long
          L = 100
    GetUserName B, L
   
    Dim maanzahl As Integer
    Dim ma As Variant
   
    maanzahl = 11 'mitarbeiteranzahl anpassen
        ma = Array("Mitarbeiter 1", "D", _
                  "Mitarbeiter 2", "E", _
                  "Mitarbeiter 3", "F", _
                  "Mitarbeiter 4", "G", _
                  "Mitarbeiter 5", "H", _
                  "Mitarbeiter 6", "I", _
                  "Mitarbeiter 7", "J", _
                  "Mitarbeiter 8", "K", _
                  "Mitarbeiter 9", "L", _
                  "Mitarbeiter 10", "M", _
                  "Thomas", "N") 'MitarbeiterID,Spalte die freigeschaltet werden muss
                                '(würde sich auch noch automatisieren lassen)
    'damit das Makro im PW-geschütztem Blatt läuft
    Sheets("2005").Protect (["test"]), userinterfaceonly:=True
    'tharmen ist Chef , eventuell weitere userid dem Chef gleichberechtigen ;-)
    If Left(B, L - 1) = "chefID" Or Left(B, L - 1) = "weitereChefuserId" Then
    Sheets("2005").Visible = 1 'Blatt sichtbar schalten
    Sheets("2005").Unprotect (["test"]) 'Blattschutz weg
    Sheets("2005").Activate 'Blatt aktiv setzen
    Else
    Sheets("2005").Visible = 2
    'hier werden einzelne Bereiche freigeschaltet
    '- leider nicht gerade schön,
    ' da man für jeden User eine abfrage machen muss
    ' mein Wissen reicht zu mehr nicht aus
    For x = 0 To (maanzahl - 1) * 2 Step 2
    If Left(B, L - 1) = ma(x) Then 'mitarbeiter X aus ma(array) holen
    Sheets("2005").Visible = 1 'Blatt sichtbar schalten
    sp = ma(x + 1) 'spalte aus ma(array) holen
    sp1 = sp & "3:" & sp & "369" 'zusammenbau des Rangebereich - bsp."D3 369"
' bsp."D3 369" <---würgs , das sollte nicht im Code entstehen
' "D3 : D396" <-- ohne smiley
    Sheets("2005").Range(sp1).Locked = False 'Zellbereich zum beschreiben freigeben
    Sheets("2005").Activate 'Blatt aktiv setzen
    End If
    Next x
    End If
    End Sub 'wennn man nicht will das man mit alt & F11 das Makro sieht
            'unter tools, eigenschaften den Schutz einschalten

[Diese Nachricht wurde von Thomas Harmening am 06. Jan. 2005 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Ralf_A
Mitglied



Sehen Sie sich das Profil von Ralf_A an!   Senden Sie eine Private Message an Ralf_A  Schreiben Sie einen Gästebucheintrag für Ralf_A

Beiträge: 269
Registriert: 14.10.2002

erstellt am: 27. Jan. 2005 10:33    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Thomas,
vielen Dank für deine Hilfe, allerdings funzt das ganze noch nicht so richtig. Weder deine Tabelle noch meine mit dem eingefügten Makro sind gesperrt.

Wenn es denn nicht geht, würde ich die Mitarbeiter in verschiedene Tabellen aufteilen, und die einzelnen Tabellen sperren, dazu müssten die Tabellen die in mehreren Fenstern geöffnet würden, allerdings synchron mit scrollen. Vielleicht gibt es ja dafür eine Lösung. Ich kenne das von Quatro da konnte man Tabellen entsprechend verbinden.

Gruß Ralf

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Thomas Harmening
Moderator
Arbeiter ツ




Sehen Sie sich das Profil von Thomas Harmening an!   Senden Sie eine Private Message an Thomas Harmening  Schreiben Sie einen Gästebucheintrag für Thomas Harmening

Beiträge: 2897
Registriert: 06.07.2001

Das Innerste geäussert
und aufs Äusserste verinnerlicht

erstellt am: 27. Jan. 2005 17:27    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Ralf_A 10 Unities + Antwort hilfreich


CopyofUrlaubslisteTest1.xls.txt

 
hmm, *Arghs* ja, habe es selber nicht mit verschiedenen Userids durchprobiert.....

Sheets("2005").Range(sp1).Locked = False kennzeichnet die Zelle als nicht gesperrt und es wird beim Abspeichern die nicht wieder auf true gestellt, dadurch werden alle Zellen je Mitarbeiter der sich einloggt/ändert die Entsprechende Reihe ungesperrt ...

habe es geändert Modul kopiert und
Sheets("2005").Range(sp1).Locked = true gesetzt beim Abspeichern

Cheffid und Vize brauchen diese Behandluing ja nicht, da das Blatt für die ungeschützt ist und nicht wie bei den Usern dem Zellbereich das Häcken entfernt wird, das beim aktiven Blattschutz Gültigkeit bekommt...

ZU Beachten: bei den Userid eingaben (Mitarbeiter 1, etc) bei uns macht es einen Unterschied ob die Userid Gross oder kleingeschrieben wurde...

gruss Thomas

[Diese Nachricht wurde von Thomas Harmening am 27. Jan. 2005 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz