VBA-Hilfe
#1
Hallo zusammen,

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


Angehängte Dateien
.xlsx   Beispiel.xlsx (Größe: 14,57 KB / Downloads: 3)
Antworten Top
#2
Guten Abend,

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. 21

Interpunktion und Orthographie dieses Textes sind frei erfunden.
Eine Übereinstimmung mit aktuellen oder ehemaligen Regeln wäre rein zufällig und ist nicht beabsichtigt.

Grüße, StefanB
Antworten Top
#3
(22.09.2021, 21:29)StefanB schrieb: Guten Abend,

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. 21

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.

Gruß
Alberto
Antworten Top
#4
Moin,

schau mal unter "Überprüfen" ob Du den Punkt Arbeitsmappe freigeben hast. Wenn nicht, bitte folgende Punkte ins Menueband ziehen:
   

Dann diesen Beitrag lesen:
https://praxistipps.chip.de/excel-datei-...ppts_38256

Interpunktion und Orthographie dieses Textes sind frei erfunden.
Eine Übereinstimmung mit aktuellen oder ehemaligen Regeln wäre rein zufällig und ist nicht beabsichtigt.

Grüße, StefanB
Antworten Top
#5
Hallo,

Excel ist für eine Mehrbenutzerumgebung denkbar schlecht geeignet. Das würde mit Access viel besser gehen.
Viele Grüße
Klaus-Dieter
Der Erfolg hat viele Väter, 
der Misserfolg ist ein Waisenkind
Richard Cobden
Antworten Top
#6
(23.09.2021, 09:39)Klaus-Dieter schrieb: Hallo,

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.

Gruß
Alberto
Antworten Top
#7
(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.

Gruß
Alberto
Antworten Top
#8
Hallöchen,

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)
Antworten Top
#9
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 Smile

Viele Grüße
Alberto
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste