Herbers Excel-Forum - das Archiv
Blattschutz in einem Modul
Betrifft: Blattschutz in einem Modul
von: Werner
Geschrieben am: 10.10.2003 10:20:03
Guten Morgen,
folgendes Problem:
in einer Datei habe ich 14 Tabellenblätter.
Diese Eintragungen werden von 3 Usern gemacht.
Auf einem Tabellenblatt habe ich ein Modul eingebaut um automatisch eine Rückmeldung, für alle sichtbar,bestehnd aus Name etc.zusehen.
Das Klappt dank der Hilfe von Willi prima.
Meine Frage:
Wo muss ich oder wie in diesem Modul eine Blattsperre einbauen?
Also automatische Übernahme Ja.
Manuelle Änderungen NEIN.
Danke
Werner
Betrifft: AW: Blattschutz in einem Modul
von: Hajo_Zi
Geschrieben am: 10.10.2003 10:22:16
Hallo Werner
in VBA kannst Du unter der Tabelle kein Modul einfügen.
1. die meisten haben hier keine Glaskugel
2. die meisten haben kleinen Heiligenschein
3. die meisten können nicht auf Deinen Rechner schauen
für alle diese Leute ist die Antwort schneller erstellt, wenn Du den relevanten Code postest.
Falls Code vorhanden wurde dieser getestet unter Betriebssystem XP Pro und Excel Version XP SBE.
Bitte kein Mail, Probleme sollen im Forum gelöst werden.
Microsoft MVP für Excel
Das Forum lebt auch von den Rückmeldungen.
http://home.media-n.de/ziplies/
Betrifft: AW: Blattschutz in einem Modul
von: Werner
Geschrieben am: 10.10.2003 10:31:44
Hallo Hajo,
hier der Komplette VBA
Diesen Code in ein Modul:
Declare Function GetUserName Lib "advapi32.dll" _
Alias "GetUserNameA" (ByVal lpBuffer As String, _
nSize As Long) As Long
Function UserName()
Dim Buffer As String * 100
Dim BuffLen As Long
BuffLen = 100
GetUserName Buffer, BuffLen
UserName = Left(Buffer, BuffLen)
UserName = Left(UserName, InStr(UserName, Chr(0)) - 1)
End Function
Diesen Code in jede zu überwachende Tabelle:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim intLZ, Sh As Worksheet
Set Sh = ActiveSheet
With Sheets("Logbuch")
intLZ = .Cells(65536, 1).End(xlUp).Row + 1
.Cells(intLZ, 1) = UserName
.Cells(intLZ, 2) = Date
.Cells(intLZ, 3) = Sh.Name
.Cells(intLZ, 4) = Target.Address
End With
End Sub
das habe ich wie gesagt von Willi und es klappt hervorragend.Nur wo muss ich jetzt den Blattschutz für das 1.Blatt einstellen ?(da wo die Daten des Users automatisch stehen.
Danke noch mal
Werner
Betrifft: AW: Blattschutz in einem Modul
von: Hajo_Zi
Geschrieben am: 10.10.2003 10:37:34
Hallo Werner
ich vermutemal Du meinst die abelle Logbuch
Private Sub Worksheet_Change(ByVal Target As Range)
Dim intLZ, Sh As Worksheet
Set Sh = ActiveSheet
With Sheets("Logbuch")
.Unprotect ("Passwort")
intLZ = .Cells(65536, 1).End(xlUp).Row + 1
.Cells(intLZ, 1) = UserName
.Cells(intLZ, 2) = Date
.Cells(intLZ, 3) = Sh.Name
.Cells(intLZ, 4) = Target.Address
.Protect ("Passwort")
End With
End Sub
Falls Code vorhanden wurde dieser getestet unter Betriebssystem XP Pro und Excel Version XP SBE.
Bitte kein Mail, Probleme sollen im Forum gelöst werden.
Microsoft MVP für Excel
Das Forum lebt auch von den Rückmeldungen.
http://home.media-n.de/ziplies/
Betrifft: AW: Blattschutz in einem Modul
von: Werner
Geschrieben am: 10.10.2003 10:43:44
Hallo Hajo,
genau...
ich setze es sofort um und danke dir ganz herzlich.
Werner