Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1524to1528
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
Inhaltsverzeichnis

Datei erneut öffnen und VBACode erneut ausführen

Datei erneut öffnen und VBACode erneut ausführen
18.11.2016 19:38:53
Jo
Hallo zusammen,
ich habe einen Mitarbeiterplan erstellt. Es haben nur Vorgesetzte Zugriff auf alle Daten und Änderungsrechte. Der einzelne Mitarbeiter sieht nur Daten die ihn betreffen.
Beim öffnen wir eine Benutzerabfrage gemacht und wenn ein berechtigter Vorgesetzter gefunden wurde, wird der Schreibschutz entfernt und alle Daten eingeblendet.
Wird ein Mitarbeiter gefunden, werden nur seine Zeilen eingeblendet und die Mappe wieder schreibgeschützt.
Soweit so gut. Nun wollte ich, dass bei einem Mitarbeiter die Datei erneut, Schreibgeschützt geöffnet wird. Damit er diese nicht blockiert fals ein Vorgesetzter was ändern will. Und irgendwas ändern darf ein Mitarbeiter sowieso nicht.
Der Code lautet wie folgt und funktioniert eigentlich auch:
If Berechtigt = False Then
If ActiveWorkbook.ReadOnly = False Then
Application.DisplayAlerts = False
Workbooks.Open (ThisWorkbook.Path & "\" & ThisWorkbook.Name), ReadOnly:=True
End If
End If
Das Problem ist das der VBA-Code beim erneuten öffnen anscheinden nicht erneut von Anfang an ausgeführt wird. Ich muss bevor die Datei erneut geöffnet wird, die Änderungen durch das Ein-/Ausblenden bestimmter Zeilen, zuvor speichern ( ThisWorkbook.Save). Habe nun rausgefunden wenn der Fall eintritt, dass Zeitgleich ein anderer Benutzer auf die Datei zugreift er kurzzeitig die Daten des anderen sieht (bis seine Infos eingeblendet werden). Weil ja die Infos des anderen zuvor eingeblendet gespeichert wurden. (Trotz Application.ScreenUpdating = False). Hat jemand eine Idee wie ich das Problem umgehen kann? Am besten das der VBA Code (Sub Workbook_Open()) einfach nochmal von vorne startet.
MfG
Johannes

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Datei erneut öffnen und VBACode erneut ausführen
18.11.2016 19:58:42
Uduuh
Hallo,
Readonly kannst du einfach setzen.
If Berechtigt=False then ActiveWorkbook.Readonly = True
oder (besser)
ActiveWorkbook.Readonly = Not Berechtigt
Gruß aus’m Pott
Udo

AW: Datei erneut öffnen und VBACode erneut ausführen
18.11.2016 20:13:27
Uwe
Hallo Johannes,
If Berechtigt = False Then
If ActiveWorkbook.ReadOnly = False Then
Application.DisplayAlerts = False
ActiveWorkbook.ChangeFileAccess xlReadOnly
Application.DisplayAlerts = True
End If
End If
Gruß Uwe
oioi,....
18.11.2016 20:27:46
Uduuh
Hallo Uwe,
da hab ich Blödsinn geschrieben!
Muss natürlich per ChangeFileAccess erfolgen.
Gruß aus'm Pott
Udo
Anzeige
AW: oioi,....
18.11.2016 23:36:27
Jo
Das ist es! Vielen Dank euch beiden.

318 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige