Ich brauche eure Hilfe!
08.03.2017 14:16:14
Mando
ich möchte eine Tabelle erstellen, wo ich bestimmte User lediglich für die bestimmte Zeile und bestimmten Range die Freigabe erteile etwas zu schreiben.
Ich kriege aber andauernd ein Fehler und kriege das nicht hin.
Ich hab folgendes aus dem netz gefunden und versucht so umzuwandeln, dass es zu mir passt.
Wo liegt hier der Fehler?
Sub rechte()
Dim B As String * 100
Dim L As Long
L = 100
GetUserName B, L
Dim maanzahl As Integer
Dim ma As Variant
maanzahl = 3 'mitarbeiteranzahl anpassen
ma = Array("a00000", "5", _
"a01614", "7", _
"a13089", "6") 'MitarbeiterID,Spalte die freigeschaltet werden muss
'(würde sich auch noch automatisieren lassen)
'damit das Makro im PW-geschütztem Blatt läuft
Sheets("tabelle1").Protect (["test"]), userinterfaceonly:=True
'tharmen ist Chef , eventuell weitere userid dem Chef gleichberechtigen ;-)
If Left(B, L - 1) = "a11687" Or Left(B, L - 1) = "weitereChefuserId" Then
Sheets("tabelle1").Visible = 1 'Blatt sichtbar schalten
Sheets("tabelle1").Unprotect (["test"]) 'Blattschutz weg
Sheets("tabelle1").Activate 'Blatt aktiv setzen
Else
Sheets("tabelle1").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("tabelle1").Visible = 1 'Blatt sichtbar schalten
Row = ma(x + 1) 'spalte aus ma(array) holen
Row1 = "C:" & Row & "f:" & Row 'zusammenbau des Rangebereich - bsp."C6:F6"
Sheets("tabelle1").Range(Row1).Locked = False 'Zellbereich zum beschreiben freigeben
Sheets("tabelle1").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
Hier die Datei
https://www.herber.de/bbs/user/112039.xlsm _
_
_
_
a>