Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: 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
Anzeige

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
Anzeige
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
AW: oioi,....
18.11.2016 23:36:27
Jo
Das ist es! Vielen Dank euch beiden.
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige