Hallo
Vorsichtig Excel erlaubt es nur zwei Benutzern, eine einzelne Datei gleichzeitig zu bearbeiten!
Wenn Utilisateur_1 die Datei öffnet, indem sie zum Schreiben darauf zugreift, können Utilisateur_2 nicht zum Schreiben auf die Datei zugreifen.
Hallo
Vorsichtig Excel erlaubt es nur zwei Benutzern, eine einzelne Datei gleichzeitig zu bearbeiten!
Wenn Utilisateur_1 die Datei öffnet, indem sie zum Schreiben darauf zugreift, können Utilisateur_2 nicht zum Schreiben auf die Datei zugreifen.
Vielen Dank für Ihre Hilfe, ich werde mich darum kümmern und Sie auf dem Laufenden halten.
Wenn Sie Beispiele haben, bin ich ein Abnehmer.
Vielen Dank für Ihre Antwort
Stimmen Sie @Remrem zu
Und wenn nicht, weil ich ein wenig Zeit hatte:
Sub AutoName()
Name = Application.UserName ' Benutzername
Derline = Tabelle1.Zellen(1, "B"). Ende(xlDown). Zeile' Holt die letzte nicht leere Zeile der Spaltenzelle "Datum" sheet1 aus der Zelle "B3"
Tabelle1.Zellen(derligne, "b") = Datum 'Das Datum des Tages eingegeben
coul = Cells.Find(Name, Cells(1, "E")). Interior.ColorIndex: 'Ruft die Farbe des Felds mit dem Benutzernamen ab.
range(Zellen(Derligne, "A"), Zellen(Derligne, "C")). Interior.ColorIndex = Farbe
Ende Sub
Seien Sie auf der anderen Seite vorsichtig. Der Benutzername muss zwischen der Excel-Datei und dem PC STRENG gleich sein, sonst kann er nicht finden (die gleichen Leerzeichen, die gleiche Großschreibung usw. usw.).
Ich glaube weiterhin, dass es eine Quelle der Langeweile für Ihr Ding ist!
Danke coin37coin,
Nein, nicht tkt, es ist für vereinfachte eine Word-Datei, die von Hand ausgefüllt werden muss. Es gibt einige, die es schaffen, manchmal Fehler zu machen. Wann fahren wir zu schnell...
Danke, ich teste das alles.
Hallo, ich habe das Makro ausprobiert. Es funktioniert nicht.
Es ist überraschend, es hat gestern sehr gut funktioniert.
Auf welcher Ebene blockiert es?
Edit: So viel für mich, sie schrieb anstelle der letzten Zeile (kleine Diskrepanz)
Sub AutoName()
Name = Application.UserName ' Benutzername
Derline = Tabelle1.Zellen(1, "B"). Ende(xlDown). Zeile' Holt die letzte nicht leere Zeile der Spaltenzelle "Datum" sheet1 aus der Zelle "B3"
line = Derline + 1 'Füge eine Zeile hinzu, die auf einem Rohling gehen soll
Tabelle1.Zellen(Zeile, "b") = Datum
coul = Cells.Find(Name, Cells(1, "E")). Interior.ColorIndex: 'Ruft die Farbe des Felds mit dem Benutzernamen ab.
range(Zellen(Zeile, "a"), Zellen(Zeile, "c")). Interior.ColorIndex = Farbe
Ende Sub
Hallo
Hier ist das korrigierte Makro, aber es hängt von der Reihenfolge der Aktionen des Benutzers ab:
Er wird zuerst in seinem Zeugnis am Ende der Liste schreiben ?
Sub AutoName()
Name = Application.UserName ' Benutzername
Derligne = Blätter("Blatt1"). cells(1, "A"). Ende(xlDown). Zeile' Holt die letzte nicht leere Zeile der Spaltenzelle "Datum" sheet1 aus der Zelle "B3"
Blätter("Sheet1"). Zellen (Derligne, 2). Value = Date 'Das Datum des Tages eingegeben
Set cell = Cells.Find(what:=Name, LookAt:=xlWhole) 'Ruft die Farbe des Feldes mit dem Benutzernamen ab
coul = Zelle. Interior.ColorIndex
range(Zellen(Derligne, "A"), Zellen(Derligne, "C")). Interior.ColorIndex = Farbe
Ende Sub
In der Tat zwei verschiedene Versionen.
Bei @PL's gibst du zuerst die Referenz ein und dann setzt er das Datum und die Farbe in auto.
Bei mir gibt er das Datum und die Farbe in auto ein und dann setzen Sie die Referenz.
@PL: Zu Ihrer Information, Sie geben Ihrem Makro nur die Wahl, "Benutzer 2" für die Farbe zu nehmen;) (oder mir entgeht etwas)
Ich habe Ihr erstes coin37coin-Makro wiederverwendet und es funktioniert tatsächlich, aber ich teste Ihr zweites, um es zu sehen.
Ja ich habe korrigiert, ich hatte für Benutzer 2 getestet und ich habe vergessen zu modifizieren !
Danke für all das Makro,
Ich kann das Makro nicht mit der Schaltfläche einfügen. Das Makro befindet sich nicht mehr an der Öffnung. Ich werde verrückt.
Hier ist die neue Tabelle
Für die Schaltfläche müssen Sie auf die Registerkarte "Entwickler" gehen = > einfügen = > Schaltfläche
Dann fügen Sie die Schaltfläche in Ihr Blatt ein, als wäre es eine Notiz (ein Links- und Rechtsklick nach links, um die Größe einzustellen), dann klicken Sie mit der rechten Maustaste auf die Schaltfläche => weisen Sie ein Makro = zu > wählen Sie Ihr Makro aus der Liste aus
Auf der anderen Seite muss das Makro natürlich in Ihrem Visual Basic vor
Um die Entwicklerregisterkarte anzuzeigen (falls Sie sie nicht haben), müssen Sie zu Datei = > Optionen = > Passen Sie das Menüband an = > klicken Sie auf das Feld "Entwickler" in den Hauptregisterkarten, wenn Sie dies nicht tun
Ich verrate es Ihnen nicht in der Datei, weil ich denke, dass es besser ist, ein wenig zu kämpfen und zu lernen, als eine schlüsselfertige Lösung zu haben;)
Bearbeiten: Sie werden vorsichtig sein, Sie hinterlassen viele Informationen in Ihren Dateien zwischen dieser und der vorherigen. Frage Es gibt den Namen Ihrer Kollegen oder die komplette Liste der Teile Ihres Unternehmens. Ich rate Ihnen, Ihre Nachrichten zu bearbeiten und zu entfernen/zu ändern.
Tatsächlich akzeptieren xlsX-Dateien keine Makros: Sie werden gelöscht, wenn sie geschlossen werden!
Sie müssen sich entweder unter xlsM registrieren. oder speichern Sie in .XLS (alte Version 97).
Vielen Dank .PL, deshalb funktioniert es nicht.
Mit dem Button funktioniert es nicht.
Schauen Sie sich die Datei an, ob ich derjenige bin, der etwas falsch gemacht hat.
Für mich funktioniert es gut
Zwei Bemerkungen jedoch:
-> Sie schreiben in die letzte Zeile (Ref. 20244). Und nicht auf der letzten + 1 Zeile Kleine Änderungslinie wie bei meinem 2. Makro
-> Sie haben die Grenzen der VBA erreicht: Wenn es nicht funktioniert, liegt es daran, dass Sie den Benutzernamen nicht GENAU so geschrieben haben, wie er in der Maschine eingegeben wurde. Das habe ich ganz am Anfang der Frage gesagt: Es wird eine ständige Fehlerquelle sein, sobald ein neuer Benutzer hereinplatzt.
Ich werde Ihnen daher raten, ein kleines Makro zu erstellen, das mit jedem Benutzer basierend auf Folgendem durchgeführt wird:
Sub DefName ()
Name = Anwendung.Benutzername
ActiveCell = Name
Ende Sub
Sie müssen nur das Feld auswählen, in das der Name eingegeben werden soll, das Makro starten und schon ist es korrekt ausgefüllt. Zu tun für jeden der Anwesenden
Das ist eine gute Idee. Ich werde es versuchen
Dsl Ich kann Makros überhaupt nicht zum Laufen bringen. Ich denke, wir werden aufgeben.
Auf jeden Fall vielen Dank
Ich lege Makros auf eine Schaltfläche
Entweder das Makro von .PL oder meines.
Um den Unterschied zwischen den beiden zu sehen, empfehle ich Ihnen, zuerst auf meine UND dann auf .PL zu klicken (sonst wird der Effekt durch Lucas' Makro konterkariert)
Vergessen Sie nicht, für die Schaltfläche zum Festlegen des Benutzers auf die entsprechende Zelle zu klicken, bevor Sie
Viel Spaß:)
Vielen Dank. Es ist perfekt^^