Ich habe eine Excel-Datei, die freigegeben ist und kann von mehreren Benutzern gleichzeitig bearbeitet werden.
Frage: wie kann man vermeiden, dass 2 Benutzer in der gleichen Zelle schreiben. Denn der zweite Benutzer überschreibt den Eintrag von dem ersten Benutzer in der gleichen Zelle durch Speichern.
Kann man dieses Problem durch VBA lösen??
Das heißt, wenn der zweite Benutzer in der gleichen Zelle von dem ersten Benutzer schreibt, muss eine Fehlermeldung „Achtung!!! Die Zelle ist schon belegt“ angezeigt werden. Die Fehlermeldung muss in den Spalten A, B, und C angezeigt wird, wenn 2 Benutzer in der gleichen Zelle schreiben „siehe Anhang“.
Ich Danke euch für Ihre Hilfe. Viele Grüße Alberto
mach es einfacher. Jeder Nutzer bekommt seine eigene Tabelle. Diese Tabelle schickt dann via Formeln, also völlig autark, die Daten an eine Haupttabelle, in der jeder Nutzer ein eigenes Tabellenblatt zugewiesen bekommen hat. Voila, und schon hast Du eine schöne Übersicht und jeder kann in seiner Tabelle, wann auch immer er möchte, etwas eintragen.
Interpunktion und Orthographie dieses Textes sind frei erfunden. Eine Übereinstimmung mit aktuellen oder ehemaligen Regeln wäre rein zufällig und ist nicht beabsichtigt.
mach es einfacher. Jeder Nutzer bekommt seine eigene Tabelle. Diese Tabelle schickt dann via Formeln, also völlig autark, die Daten an eine Haupttabelle, in der jeder Nutzer ein eigenes Tabellenblatt zugewiesen bekommen hat. Voila, und schon hast Du eine schöne Übersicht und jeder kann in seiner Tabelle, wann auch immer er möchte, etwas eintragen.
Guten Morgen,
alle Mitarbeiter benutzen das gleiche Datenblatt, deswegen möchte ich das mit VBA machen. Wäre das mögliche? Für eine baldige Antwort Danke ich euch im Voraus.
Interpunktion und Orthographie dieses Textes sind frei erfunden. Eine Übereinstimmung mit aktuellen oder ehemaligen Regeln wäre rein zufällig und ist nicht beabsichtigt.
Excel ist für eine Mehrbenutzerumgebung denkbar schlecht geeignet. Das würde mit Access viel besser gehen.
Du hast vollkommen recht, aber wir müssen Excel benutzen. Gibt es eine Lösung per VBA, damit der zweite Benutzer nicht den Eintrag von dem Ersten Benutzer überschreibt, wenn die beiden gleichzeitig in der ersten Zelle schreiben wollen.
(23.09.2021, 12:40)Alberto schrieb: Du hast vollkommen recht, aber wir müssen Excel benutzen. Gibt es eine Lösung per VBA, damit der zweite Benutzer nicht den Eintrag von dem Ersten Benutzer überschreibt, wenn die beiden gleichzeitig in der gleichen Zelle schreiben wollen.
eher nicht. Meist ist das ja nicht 100% gleichzeitig und Excel weiß ja auch nicht unbedingt, wer da Vorrang hat und was da gerade gemacht wird. Wenn z.B. bei jedem beim Öffnen die Zelle A1 aktiviert ist hat erst mal jeder die gleichen Voraussetzungen. Nun kann es sein, dass 10 Leute gleichzeitig alle anfangen, in A1 was zu schreiben. Excel weiß immer noch nicht, ob da alle 10 die Eingabe abschließen oder 9 Leute die Eingabe z.B. mit ESC abbrechen.
Du kannst
z.B. Änderungsverfolgung aktivieren ...
z.B. mit einem Worksheet_Change versuchen, die geänderte Zelle zu sperren. Dann hat der, der zuerst ENTER drückt, ggf. einen Vorteil. Müsstest mal probieren, ob das bei Multiuserzugriff überhaupt funktioniert.
z.B. dem zuerst öffnenden exklusiven Zugriff geben If ActiveWorkbook.MultiUserEditing Then ActiveWorkbook.ExclusiveAccess End If
z.B. bestimmten usern bestimmte Bereiche zur Bearbeitung freigeben (Analog zu StefanB, aber alles auf einem Blatt und über Berechtigungen geregelt)
z.B. ...
. \\\|/// Hoffe, geholfen zu haben. ( ô ô ) Grüße, André aus G in T ooO-(_)-Ooo (Excel 97-2019+365)
23.09.2021, 20:09 (Dieser Beitrag wurde zuletzt bearbeitet: 23.09.2021, 20:10 von Alberto.)
Vielen Dank für die ausführliche Antwort. Ich werde deine Vorschläge ausprobieren und ein Feedback geben. Per VBA wird es klappen, aber da ich zu wenig Erfahrung DAMIT Habe, wird es lange dauern