Hilfe, habe Mist gebaut! (Makro rückgängig machen)
#1
Sad 
Hallo zusammen!

Ich hoffe Ihr könnt mir helfen..

Vorweg muss ich sagen, dass ich absoluter VBA Laie bin und die Macht des Codes etwas unterschätzt habe!! 

Ich habe gestern versucht, eine Exceltabelle so zu bearbeiten, dass wenn jemand ein Kommentar in einer Zelle hinterlässt, automatisch das Datum hinzugefügt wird.

Folgendes Makro habe ich verwendet:
Code:
Option Explicit

Private Sub Workbook_BeforeClose(Cancel As Boolean)
On Error Resume Next
Application.UserName = ActiveWorkbook.CustomDocumentProperties("MeinName").Value
End Sub

Private Sub Workbook_Open()
Call UserName_Sichern
Application.UserName = Application.UserName & " " & DateValue(Now)
End Sub

Sub UserName_Sichern()
On Error Resume Next
With ActiveWorkbook.CustomDocumentProperties
   .Add Name:="MeinName", _
       LinkToContent:=False, _
       Type:=msoPropertyTypeString, _
       Value:=Application.UserName
End With
ActiveWorkbook.CustomDocumentProperties("MeinName").Value = Application.UserName
End Sub


Das Resultat war leider nicht ganz das Gewünschte und jetzt wird das Datum 2x angezeigt..
Habe dann den Code wieder gelöscht, aber die Kommentarfunktion setzt immer noch das Datum doppelt ein..


Gibt es eine Möglichkeit den Code trotzdem noch irgendwie zu korrigieren?
Bzw die Kommentarfunktion wieder auf Standard zu setzen und dann einen funktionierenden Code zu verwenden?

Bin wirklich über jeden Lösungsansatz dankbar!!
Top
#2
Es hat doch niemand gesagt, dass Du das Makro an Schwiegermutter oder Deinem Hund ausprobieren sollst.

Immer an einer Datei-KOPIE. Niemals am Original.
Top
#3
Ja, das hatte ich auch nicht vor!
Habe vorher schon eine Kopie erstellt.. Allerdings habe ich zu spät gemerkt, dass ich die Kopie nur von der Verknüpfung gemacht hatte :33:

War schon sehr spät und ich war im Gedanken schon sonstwo   :15:
Top
#4
Hi

den Application.Username kannst Du in Optionen auch manuell zurücksetzen
[-] Folgende(r) 1 Nutzer sagt Danke an Winny für diesen Beitrag:
  • gentleyog
Top
#5
Hallo

Zitat:Erfahrung ist die Summe aller Fehler.  Keine Sorge, ich baue nach 20 Jahren Programmieren manchmal auch noch Mist!

den UserName zurücksetzen ist eine Sache.  Was ist denn mit der gestellten Aufgabe zu einem Kommentar ein Datum einfügen.  In welche Zelle (welche Spalte) wird ein Kommentar geschrieben?  Und wo soll dann das Datum erscheinen?  Dieser Teil ist m.E. noch offen...

mfg  Gast 123
[-] Folgende(r) 1 Nutzer sagt Danke an Gast 123 für diesen Beitrag:
  • gentleyog
Top
#6
Da gibt es nichts weiter zu tun. Im Kommentar erscheint automatisch Application.Username. Da der aber bereits 'verdübelt' war, hat seine Funktion das Datum noch einmal hinten dran gesetzt.
[-] Folgende(r) 1 Nutzer sagt Danke an Winny für diesen Beitrag:
  • gentleyog
Top
#7
Danke für Eure Hilfe!

Hier noch einige Details zur Ergänzung:

Bei der Tabelle handelt es sich um eine Urlaubsplanung. Bearbeitet wird sie mit Excel 2011.
Die Kommentare sollen zb. dazu dienen, dass man sehen kann, wann jemand Urlaub, Stunden abbummeln etc angefragt hat.
Die Exceltabelle ist im Netzwerk freigegeben und wird von mehreren Benutzern gleichzeitig bearbeitet..

Was genau passiert, wenn ich den application.username zurücksetze? (Und wo genau mache ich das? Habe in den Optionen nichts entsprechendes gefunden)
Welche Auswirkungen hat das auf die anderen Netzwerk Nutzer?

Ich bin mir nicht sicher, ob ich die Frage nach der Spalte richtig verstanden habe..
Die Kommentare werden in unterschiedliche Spalten gesetzt, je nachdem ob an diesem Tag jemand Urlaub braucht, früher gehen möchte etc...


Gruß
yog
Top
#8
Na, wieviele Namen findest Du denn in den Optionen? Da steht z.Zt. wahrscheinlich Gerd Müller 07.01.2017. Du hast eine ältere Version, trotzdem musst du da irgendwo einen Namen finden. Was passiert beim Rücksetzen? Nun, der Name ist wieder korrigiert! Bei gleichzeitiger Bearbeitung im Netzwerk könnte ich mir aber vorstellen dass das da schiefgegangen ist, es sollte nur einer zur Zeit die Mappe bearbeiten!
Top
#9
Hallo Yog

Zitat:Ich bin mir nicht sicher, ob ich die Frage nach der Spalte richtig verstanden habe..
wenn jemand in eine Excel Tabelle ein Datum hinein schreibt wann er Urlaub haben will muss das doch in eine bestimmte Zelle geschehen. Oder wie werden bei Euch die Daten gespeichert?  Irgendwo müssen die Daten doch stehen, damit man sie wieder auslesen kann!!  Rechts daneben wird es in der gleichen Zeile bestimmt noch leere Spalten geben, wo man zusaetzlich einen Kommentar hineinschreiben kann. So habe ich das gemeint.

mfg  Gast 123
Top


Gehe zu:


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