Excel VBA Blattschutz+Makro+Freigabe
08.05.2020 10:05:24
Christian
Ich habe eine Exceldatei mit mehreren Tabellenblättern, die ausschließlich per Makro bedient und verändert werden.
Diese Datei soll für unterschiedliche Anwender mit unterschiedlichen Rollen/Rechten zur Verfügung stehen. Soll heißen, dass ich per Makro prüfe welcher Username welche Rolle (Admin,Manager,Konstrukteur oder Gast) hat und dementsprechend welche Zellen er bearbeiten darf. Das klappt bisher auch super und grundsätzlich funktioniert auch alles. ABER
Mein Problem ist jetzt die Netzwerkfreigabe dieser Excelliste, so dass mehrere Benutzer gleichzeitig damit arbeiten können.
Bisher war meine Herangehensweise wie folgt: Alles ist per Blattschutz und Arbeitsmappenschutz gesperrt. Per Makro wird der User bzw. die Rolle geprüft und wenn er berechtigt ist, wird der Blattschutz kurzzeitig deaktiviert und die Zelle wird verändert. Klappt auf einem Rechner ohne Netzwerkfreigabe auch super. Nachteil: Es kann eben nicht gleichzeitig an dieser Liste gearbeitet werden, da der Blattschutz für die freigegebene Excelliste nicht aufgehoben werden kann.
Dann kam der Gedanke die Funktion "Benutzer dürfen Bereiche bearbeiten" zu verwenden. Also Blatt und Arbeitsmappe sind weiterhin gesperrt, aber die Zellen werden zusätzlich über diese Funktion für die dementsprechenden User für die Bearbeitung ohne Passwort freigegeben. Das heißt der Blattschutz kann weiterhin aktiv bleiben, die Datei kann im Netzwerk freigegeben werden und die User können die für sich freigeschalteten Zellen auch bearbeiten.
Mein Problem ist jetzt, dass, obwohl eine Zelle für einen User freigegeben ist und er den Inhalt dieser Zelle auch manuell bearbeiten kann (also per doppelklick auf Zelle), dass das Makro die freigegebene Zelle scheinbar nicht bearbeiten kann. Ich bekomme dabei immer einen "Laufzeitfehler 1004"
Wie bekomme ich das jetzt hin, dass ich diese Zelle per Makro bearbeiten kann?