Änderungsdatum für gesamte Tabelle und einzelne Zellen

Das Tabellenkalkulationsprogramm

Moderator: Moderatoren

Rookie176
Beiträge: 9
Registriert: Di, 09.05.2017 17:17

Änderungsdatum für gesamte Tabelle und einzelne Zellen

Beitrag von Rookie176 » Di, 09.05.2017 17:32

Hallo,

hoffe es ist jemand in der weiten Welt des Web`s hier und kann mir helfen ;-)

Ich möchte einmal das Änderungsdatum in der Tabelle für eine Spalte festhalten.
Am besten Datum/Zeit/User
Gehe mal von aus, das ich dies dann für andere Spalten dann einfach übernehmen kann.

Des weiteren das Änderungsdatum der Liste im Fußzeilenbereich.
Dies aber nur geändert werden soll, bei Änderungen der Tabelle ( Einträge )
und nicht beim einfachen speichern bzw. drucken.

Meine Tabelle geht von A1 bis F999 / in G sollte dann das Datum für die Spalten erscheinen.

Ich verlange viel, ich weiss, habe aber Mc Google schon abgefragt, komme aber nicht mit den dort
angegeben Werte der VBA / Makroprogrammierung nicht klar.

Formeln selbst über OO abrufen geht :lol:
Habe 4.1.3

Danke

Rookie176

clag
********
Beiträge: 3523
Registriert: Di, 27.01.2009 15:30

Re: Änderungsdatum für gesamte Tabelle und einzelne Zellen

Beitrag von clag » Mi, 10.05.2017 08:27

Hallo Rookie176,

man kann per Formeltrick ein Datum/Uhrzeit fixieren, das funktioniert aber praktisch nur einmal,
dann muß man den Triggerwert entfernen und neu setzen um eine neues fixiere zu ereichen.
Das macht kaum Sinn bei deinen Ansprüchen.

Da bleibt nur eine Makro-Lösung, die die entsprechenden Zellen überwacht und dann ggf. die Zeiten in die Zellen schreibt.

Erstelle doch einmal eine Beispeieldatei und lade die hier hoch, dann kann man mal gucken ob und wie das machbar ist.
LG
clag

nutzt: WinXP SP3 / AOO 4.1.2 / Firefox

Rookie176
Beiträge: 9
Registriert: Di, 09.05.2017 17:17

Re: Änderungsdatum für gesamte Tabelle und einzelne Zellen

Beitrag von Rookie176 » Mi, 10.05.2017 08:40

Guten Morgen,

Danke für die Antwort und Deiner Hilfe.
Datumtest.ods
(7.57 KiB) 63-mal heruntergeladen
Hier meine Tabelle.

Stehe für weitere Fragen und Anregungen zur Verfügung 8)

Gruss Rookie176

clag
********
Beiträge: 3523
Registriert: Di, 27.01.2009 15:30

Re: Änderungsdatum für gesamte Tabelle und einzelne Zellen

Beitrag von clag » Mi, 10.05.2017 08:46

hey super,
welche Information soll denn nun deine leere Beispiel-Tabelle vermitteln??

so wird das nix mit der Hilfe!
LG
clag

nutzt: WinXP SP3 / AOO 4.1.2 / Firefox

Rookie176
Beiträge: 9
Registriert: Di, 09.05.2017 17:17

Re: Änderungsdatum für gesamte Tabelle und einzelne Zellen

Beitrag von Rookie176 » Mi, 10.05.2017 08:52

Moin,

es sollte also in G erkannt werden, wenn in A bis F in der selben Spalte der Text geändert wird.
Dort dann Datum und Uhrzeit vlt. auch Benutzer eintragen.

EDIT : Dieses sollte sich dann nur wieder bei der nächsten Änderung wieder neu einstellen

Und Hauptsächlich sollte in der Fußzeile das Änderungsdatum erscheinen, wenn die Tabelle
geändert wurde. Dieses aber nicht, wenn sie nur gespeichert ( ohne Änderung ) oder gedruckt wurde.

Hoffe ich habe es einigermaßen hin bekommen, die Erklärung.

Danke

Gruss Rookie176
Zuletzt geändert von Rookie176 am Mi, 10.05.2017 08:55, insgesamt 1-mal geändert.

Stephan
********
Beiträge: 10095
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Re: Änderungsdatum für gesamte Tabelle und einzelne Zellen

Beitrag von Stephan » Mi, 10.05.2017 08:53

Meine Tabelle geht von A1 bis F999 / in G sollte dann das Datum für die Spalten erscheinen.
stimmt das wirklich? Ich würde die Einträge des Änderungsdatums für dioer Spalten eher in A1000 bis F1000 vermuten, ansonsten wäre zu klären wo genau was in Spalte G stehen soll - der Eintrag für Spalte A in B1, der Eintrag für Spalte B in G2 usw.?
komme aber nicht mit den dort
angegeben Werte der VBA / Makroprogrammierung nicht klar.
ich fürchte eine Lösung ohne Programmieren wird nicht möglich sein.



Gruß
Stephan

Rookie176
Beiträge: 9
Registriert: Di, 09.05.2017 17:17

Re: Änderungsdatum für gesamte Tabelle und einzelne Zellen

Beitrag von Rookie176 » Mi, 10.05.2017 09:03

Stephan hat geschrieben:
Mi, 10.05.2017 08:53
Meine Tabelle geht von A1 bis F999 / in G sollte dann das Datum für die Spalten erscheinen.
stimmt das wirklich? Ich würde die Einträge des Änderungsdatums für dioer Spalten eher in A1000 bis F1000 vermuten, ansonsten wäre zu klären wo genau was in Spalte G stehen soll - der Eintrag für Spalte A in B1, der Eintrag für Spalte B in G2 usw.?
In G sollte das Änderungsdatum stehen, wenn Zellen links d.h. A bis F irgendeine Änderung getan worden ist.
komme aber nicht mit den dort
angegeben Werte der VBA / Makroprogrammierung nicht klar.
ich fürchte eine Lösung ohne Programmieren wird nicht möglich sein.
In die Einstellung mit Alt+F11 war ich schon ;-)
Habe auch schon einiges kopiert und auprobiert, bekomme aber immer Syntax Fehler !


Gruss Rookie176

Stephan
********
Beiträge: 10095
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Re: Änderungsdatum für gesamte Tabelle und einzelne Zellen

Beitrag von Stephan » Mi, 10.05.2017 09:37

In G sollte das Änderungsdatum stehen, wenn Zellen links d.h. A bis F irgendeine Änderung getan worden ist.
dann geht z.B.:

Code: Alles auswählen

Sub testen(event)
	zeile = event.RangeAddress.Startrow
	blatt = event.RangeAddress.Sheet
	eintrag = Date
	ThisComponent.Sheets(blatt).getCellByPosition(6,zeile).String = eintrag
End Sub
wenn man es dem Tabellenereignis "Inhalt geändert" zuordnet.

bekomme aber immer Syntax Fehler !
dann musst Du den Code posten der den Fehler verursacht, nur so kann jemand etwas dazu sagen.

Ist es eigentlich so schwer das selbst zu wissen, das niemand etwas zu einem Code-Fehler sagen kann ohne den Code zu kennen?



Gruß
Stephan

clag
********
Beiträge: 3523
Registriert: Di, 27.01.2009 15:30

Re: Änderungsdatum für gesamte Tabelle und einzelne Zellen

Beitrag von clag » Mi, 10.05.2017 09:49

@Stephan hat es ja schon beantwortet
habe hier noch eine Bespieldatei erstell
set-Time.ods
(10.55 KiB) 84-mal heruntergeladen
viel Spaß
LG
clag

nutzt: WinXP SP3 / AOO 4.1.2 / Firefox

Rookie176
Beiträge: 9
Registriert: Di, 09.05.2017 17:17

Re: Änderungsdatum für gesamte Tabelle und einzelne Zellen

Beitrag von Rookie176 » Mi, 10.05.2017 09:54

Stephan hat geschrieben:
Mi, 10.05.2017 09:37
dann musst Du den Code posten der den Fehler verursacht, nur so kann jemand etwas dazu sagen.

Ist es eigentlich so schwer das selbst zu wissen, das niemand etwas zu einem Code-Fehler sagen kann ohne den Code zu kennen?



Gruß
Stephan

Code: Alles auswählen

Function ChangedOn() As Date

   Dim oSheet As Object
   Dim ChgDate As Variant
   
   oSheet = ThisComponent()
   
   ChgDate = oSheet.DocumentProperties.ModificationDate

'   ChgDate ist leer, wenn das Dokument noch nie gespeichert wurde. In diesem Fall CreationDate nutzen

   If ChgDate.Year = 0 Then
      ChgDate = oSheet.DocumentProperties.CreationDate
   End If
   
   ChangedOn = DateSerial(ChgDate.Year, ChgDate.Month, ChgDate.Day)
   
End Function
Dieser war es z.B.

Gruss Rookie176

Rookie176
Beiträge: 9
Registriert: Di, 09.05.2017 17:17

Re: Änderungsdatum für gesamte Tabelle und einzelne Zellen

Beitrag von Rookie176 » Mi, 10.05.2017 10:06

clag hat geschrieben:
Mi, 10.05.2017 09:49
@Stephan hat es ja schon beantwortet
habe hier noch eine Bespieldatei erstell

set-Time.ods

viel Spaß
Hallo Clag,

habe die Tabelle runter geladen.
Wenn ich jetzt aber was ändere, zeigt es mir nichts an.
Führe ich das Makro aus oder will es ausführen, muss ich erst die Sicherheit runter stellen.
Selbst dann funzt es leider nicht.

Wo liegt da mein Denk- oder Ausführungsfehlverhalten ?

Gruss Rokkie176
Zuletzt geändert von Rookie176 am Mi, 10.05.2017 10:09, insgesamt 1-mal geändert.

Stephan
********
Beiträge: 10095
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Re: Änderungsdatum für gesamte Tabelle und einzelne Zellen

Beitrag von Stephan » Mi, 10.05.2017 10:07

Für mich leider nicht nachvollziehbar. Sowohl bei Aufruf der Funktion per Makro:

Code: Alles auswählen

Sub Main
	Msgbox ChangedOn
End Sub

Function ChangedOn() As Date

   Dim oSheet As Object
   Dim ChgDate As Variant
   
   oSheet = ThisComponent()
   
   ChgDate = oSheet.DocumentProperties.ModificationDate

'   ChgDate ist leer, wenn das Dokument noch nie gespeichert wurde. In diesem Fall CreationDate nutzen

   If ChgDate.Year = 0 Then
      ChgDate = oSheet.DocumentProperties.CreationDate
   End If
   
   ChangedOn = DateSerial(ChgDate.Year, ChgDate.Month, ChgDate.Day)
   
End Function
als auch bei Aufruf direkt in einer Tabellenzelle:

Code: Alles auswählen

=CHANGEDON()
kein Syntax-Fehler.

gerade gestestet in OOo 3.3.0 und LO 5.1.6


Gruß
Stephan

Rookie176
Beiträge: 9
Registriert: Di, 09.05.2017 17:17

Re: Änderungsdatum für gesamte Tabelle und einzelne Zellen

Beitrag von Rookie176 » Mi, 10.05.2017 10:18

@Stephan

habe Dir jetzt mal eine Hardcopy angehangen.
Nach dem eintragen von =Changedon()
passiert der Fehler.

Gruss Rookie176
Dateianhänge
Bild Makro.odg
(118.58 KiB) 68-mal heruntergeladen

Stephan
********
Beiträge: 10095
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Re: Änderungsdatum für gesamte Tabelle und einzelne Zellen

Beitrag von Stephan » Mi, 10.05.2017 12:25

Aus dem Screenshot ist kein Syntaxfehler ersichtlich. Das die Fehlermeldung von Syntaxfehler spricht kann daran liegen das sie falsch ist, weil OO/LO gelegentlich zu erkannten Fehlern den falschen Fehlermeldetext ausgeben.

Ich würde erstens OO (inklusiv. Schnellstarter) neu starten und schauen ob der Fehler wieder auftritt.

Zweitens die komplette Zeile löschen in der der Fehler auftritt und schauen wie sich die Fehlermeldung dann ggf. verschiebt oder nicht mehr auftritt.

Drittens die Funktion direkt im Dokument speichern und nicht im Bereich "meine Makros".

Viertens alle (scheinbaren) Leerzeichen in der Funktion kontrollieren, denn schon die Markierung der Fehlerzeile (=nur 1 Leerzeichen markiert) ist merkwürdig und deutet vielleicht darauf hin das manche Leerzeichen in Wahrheit nicht druckbare Steuerzeichen sind, auf welche OO/L O manchmal 'nervös' reagieren.


Alles das sind Mutmaßungen aufgrund von Erfahrungswissen. Eigentlich ist allein aus dem Screenshot keine zuverlässige Fehleranalyse ableitbar.


Gruß
Stephan

Rookie176
Beiträge: 9
Registriert: Di, 09.05.2017 17:17

Re: Änderungsdatum für gesamte Tabelle und einzelne Zellen

Beitrag von Rookie176 » Mi, 10.05.2017 12:50

Hallo Viertens hat geholfen,

mit dem Befehl =Changedon() kommt das Datum. Super
Wie kann ich dem nun sagen, das die Spalte geprüft wird
bzw. halt auch das Änderungsdatum dann für das ganze Dokument ( Tabelle )
in der Fußzeile kommt ?

Gruss Rookie176

EDIT : wie kann man denn den Code im Doku speichern ?

EDIT2: Habe es gefunden, das mit dem Inhalt speichern. Danke
Datum wird geändert !!! Thanks, nun muss ich noch ein Datum in die Fußzeile bekommen.

Antworten

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 16 Gäste