Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1500to1504
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Datum automatisch einsetzen (Anfangs- Enddatum)

Datum automatisch einsetzen (Anfangs- Enddatum)
27.06.2016 14:32:14
Ralf
Hallo zusammen,
ich habe für unsere Dokumentationsarbeit in einer WfbM (Werkstatt für behinderte Menschen) eine Tabelle erstellt, die folgende Anforderungen erfüllt:
1.Es gibt für jede Arbeitsgruppe (Besteht aus ca. 12 Personen) eine Arbeitsmappe.
2.In dieser Arbeitsmappe ist für jeden Mitarbeiter ein eigenes Tabellenblatt hinterlegt.
3.In diesem Tabellenblatt können im oberen Bereich (Zellen B3 bis B6) die festgelegten Ziele für den jeweiligen Mitarbeiter per Pulldownmenü ausgewählt werden. Insgesamt können vier Ziele gleichzeitig ausgewählt und verfolgt werden (Zelle B3 bis B6).
4.Die Ziele für den jeweiligen Mitarbeiter sind ebenfalls in derselben Arbeitsmappe, aber in einem anderen Tabellenblatt mit dem Namen „Ziele“ zu finden. Für jeden Mitarbeiter gibt es in dem Tabellenblatt „Ziele“ eine eigene definierte Tabelle, mit den jeweiligen Zielen. Auf diese Tabelle greift auch das Pulldownmenü zurück (Siehe Punkt 3).
Die festgelegten Ziele werden mit einem Mitarbeiter eine gewisse Zeit verfolgt und danach kommt es zu einer Bewertung des jeweiligen Ziels. Aus diesem Grunde benötigen wir das Anfangs- und das Enddatum des verfolgten Ziels.
Nun zu meiner Frage ;),
ist es möglich, wenn man in dem Tabellenblatt eines Mitarbeiters ein Ziel per Pulldownmenü ausgewählt hat, dass Auswahldatum (Anfangsdatum) zu speichern. Die Speicherung sollte hinter dem jeweiligen Ziel des Mitarbeiters in der Tabelle „Ziele“ erfolgen. Als nächstes sollte, sobald das Ziel verändert wird hinter dem Anfangsdatum dann dass Enddatum gespeichert werden. Wichtig dabei ist, dass die beiden Datumsangaben fix sind und sich nicht mehr verändern.
Zur leichteren Verständnis hänge ich noch eine Beispieldatei an.
https://www.herber.de/bbs/user/106558.xlsx
Ich hoffe, dass ich mich einigermaßen verständlich ausgedrückt habe und hoffe auf Eure Hilfe.
Besten Dank schon einmal
Ralf

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
VBA-Lösung erwünscht?
27.06.2016 14:53:57
Michael
Hi Ralf,
das geht nur mit VBA.
Schöne Grüße,
Michael

AW: VBA-Lösung erwünscht?
27.06.2016 20:21:30
Ralf
Hallo Michael,
kannst du mir das den in VBA programieren?
P.S. Eine Sache hatte ich noch vergessen.
Die Tabelle mit den Zielen der einzelnen Mitarbeiter in der Tabelle "Ziele" kann beliebig mit neuen Zielen erweitert werden. Also kann es sein, dass ein Mitarbeiter ggf. 10 oder mehr Ziele in seiner Zeit bei uns verfolgt hat.
Kannst du so etwas, oder ist das zu aufwendig?
Besten Dank erst einmal für die schnelle Info
Gruß Ralf

AW: VBA-Lösung erwünscht?
27.06.2016 22:02:05
Michael
Hallo Ralf,
erst Mal: programmieren kann man (fast) alles - fragt sich nur, mit welchem Aufwand.
Ich bin mir nicht sicher, ob die Datenstruktur so paßt.
1. Ziele 1-4: holt sich die Daten aus Ziele, also z.B. "Musterziel1"; so weit ok.
Aber: die Tage enthalten je 5 Zeilen für unterschiedliche Tätigkeiten, die auch wiederum je einem dieser Ziele zugeordnet sind.
Und DORT, in Spalte F, gibt es die Auswahl aus 20 Zielen statt 4.
Ich meine, man müßte hier die Ziele auf die in B3-B6 enthaltenen eingrenzen.
2. Die "Ziel" erfüllt nicht alle Voraussetzung für eine sinnvolle Struktur: hier soll ein Bereich für die Zeile "beliebig mit neuen Zielen erweitert werden", und quasi darunter kommen dann die Zeiten hin...
Wirklich "sauber" kann man das nur lösen, indem man pro MA je ein Blatt "MA" und ein Blatt "MA_V" (also "Vorlage" mit den verfügbaren Zielen) und ein Blatt "MA_Z" (also die konkret ausgewählten Ziele chronologisch).
3. Das "MA"-Blatt ist nicht "datenbankmäßig sauber": viel zu viel "weiß".
Das heißt, eine derart vorgefertigte Struktur ist nicht praktikabel: wenn Du das ausdrucken möchtest, druckst Du mehr leere Zellen als Daten, und falls einer mal 6 Tätigkeiten am Tag machen will, paßt es nicht rein.
"Datenbankmäßig sauber" wäre eine schlichte, fortlaufende Liste, in die gerade so viele Daten geschrieben werden wie eben vorhanden: manchmal mehr, manchmal weniger.
Mit einer "Eingabemaske" garniert läßt sich damit auch arbeiten.
4. Das heißt auch, daß "Ziel" entfällt, weil pro Nase durch "MA_Z" ersetzt.
Das läßt sich viel einfacher programmieren...
5. Ziel von-bis: das kann sich offensichtlich mehrmals am Tag ändern?
Was soll denn dann in "Ziel" bzw. "MA-Z" stehen? Nur der Tag? Auch die Uhrzeit?
Ausgelöst wodurch? Klick in B2-B6 oder Spalte F?
6. Eigentlich enthält die Ziel-Tabelle Daten (wenn sie denn fertig ist), die mit Datums- bzw. Zeitangaben in Deiner MA-Tabelle so weit korrespondieren, daß es sich anbietet, hier zu jedem gewählten Ziel in "F" die Zeit zu speichern; vielleicht sogar nur die Anfangszeit, das Ende ergibt sich dann aus dem nächsten Eintrag. Dazu könnte man "Zielkürzel" einführen, die in Spalte F passen.
Zusammenfassung: Im Prinzip hast Du mit dem Namensmanager eine ganz gute Geschichte auf die Beine gestellt, aber die Datenstruktur ist verbesserungswürdig.
Mal nachdenken...
Schöne Grüße,
Michael

Anzeige
AW: VBA-Lösung erwünscht?
28.06.2016 10:18:33
Ralf
Hallo Michael,
erst einmal besten Dank für die schnelle und ausführliche Info.
Ich glaube, dass ich mich nicht so ganz verständlich ausgedrückt habe, sorry.
Ich versuche es einmal anhand eines Beispiels (Max Mustermann) besser zu erklären:
Dabei gehe ich davon aus, dass in dem Tabellenblatt „Ziele“ in der Tabelle von Herrn Mustermann noch keine Ziele festgelegt wurden und auch im Tabellenblatt Max Mustermann noch keine Ziele in dem Bereich der Zellen B3 –B6 ausgewählt wurden.
Nun wird in dem Tabellenblatt „Ziele“ in der Tabelle mit den Zielen von Herrn Mustermann ein neues Ziel eingetragen, z.B. „ Musterziel 1“.
Nun wechselt man in das Tabellenblatt von Max Mustermann:
Im oberen Bereich (Zelle B3 – B6) besteht die Möglichkeit insgesamt 4 verschiedene Ziele auszuwählen. Für unser Beispiel sind diese Felder alle noch nicht mit ausgewählten Zielen gefüllt.
In dem Moment, in dem man dieses Ziel im oberen Bereich per Pulldownmenü z.B. in der Zelle B3 auswählt und es dadurch in die Zelle eingetragen wird, soll automatisch das Anfangsdatum der Zielverfolgung festgehalten werden. Dieses soll in dem Tabellenblatt „Ziele“ , in der Tabelle von Max Mustermann, hinter dem genannten Ziel, in der Spalte „Verfolgt seit“ erfolgen.
Nach ca. 3 Monaten wird für Herrn Mustermann ein neues Ziel festgelegt. Dies wird wieder in dem Tabellenblatt „Ziele“ in der Tabelle mit den Zielen von Herrn Mustermann geschrieben, z.B. „Musterziel 2“.
Nun wechselt man wieder in das Tabellenblatt von Max Mustermann:
Das bisherige Ziel aus der Zelle B3 (Musterziel 1) soll nicht weiter verfolgt werden, daher wird über das Pulldownmenü in dem Tabellenblatt Max Mustermann das neue Ziel „Musterziel 2“ ausgewählt.
In dem Moment, in dem ein neues Ziel ein altes Ziel überschreibt, wird bei dem alten Ziel (Musterziel 1) in dem Tabellenblatt „Ziele“, in der Tabelle mit den Zielen von Max Musterman, hinter dem genannten Ziel, in der Spalte „Beendet am“ das Enddatum automatisch eingetragen. Für das neue Ziel (Musterziel 2) muss parallel dazu wieder das Anfangsdatum eingetragen werden.
Insgesamt besteht pro Mitarbeiter die Möglichkeit, bis zu vier Ziele (Zelle B3 – B6) gleichzeitig zu verfolgen.
Die oben genannte Vorgehensweise mit dem Einsetzen des Anfangs- bzw. Enddatum müsste also für alle Zellen B3 – B6 gelten.
Die Tabelle für jeden Mitarbeiter mit den Zielen in dem Tabellenblatt „Ziele“ kann um weitere Ziele erweitert werden. Diese werden dann einfach unter das letzte Ziel geschrieben und die Tabelle erweitert sich dann automatisch.
Diese endlose Tabelle mit den Zielen ist notwendig, da einige unserer Mitarbeiter ( Menschen mit geistiger/ körperlicher Behinderung) bereits nach der Schule zu uns kommen und ggf. ein ganzes Arbeitsleben (mindestens 20 Jahre) bei uns verbringen. Wir müssen dann dokumentieren, welche Ziele wir mit dem Mitarbeiter verfolgt haben, in welchem Zeitraum, gab es Erfolge, wie wurde gefördert usw. Diese Dokumentation erfolgt dann ab Zeile 9 in dem Tabellenblatt des jeweiligen Mitarbeiters.
Nun zu den Antworten auf Deine gestellten Fragen
Zu 1. Die Ziele 1-4 holen sich die Daten aus Ziele. Und auch nur für diesen Bereich soll diese oben genannte „Programmierung“ sein. Zur Erklärung: Den Bereich ab der Zeile 9 in dem Tabellenblatt Max Mustermann dient nur zur Eingabe für unsere Gruppenleiter. Diese Erfassen pro Tag, ob der Mitarbeiter anwesend ist, welche Tätigkeiten er durchgeführt hat und welches der vier Ziele er ggf. mit dem Mitarbeiter verfolgt hat. Hat er z.B. an dem Tag nur Ziel 1 verfolgt, so wählt er dieses auch in der Spalte „Ziele“ aus und kann dazu noch Erklärungen speichern.
Die Ziele, die man in der Spalte F auswählen kann, beziehen sich auf die hinterlegten Ziele (Tabellenblatt „Ziele“) des einzelnen Mitarbeiters. Das bedeutet, dass ich jedes neu hinterlegte Ziel am Anfang mit einer fortlaufenden Nummer versehe, z.B. das erste Ziel: 1. Herr Mustermann soll sich mindesten 10 Minuten auf seine Arbeit konzentrieren und Ziel 2: 2 Herr Mustermann meldet sich vor dem Toilettengang ab usw.
Zu einem späteren Zeitpunkt könnte man dann die Tabelle ab der Zeile 9 nach den verschiedenen Zielen bzw. Kriterien filtern lassen.
Durch die Beantwortung der ersten Frage beantworten sich glaube ich auch die weiteren, da diese sich ja auf den Bereich ab der Zeile 9 beziehen und dieser durch die „Programmierung“ nicht betroffen ist, oder?
Ich hoffe, Du kannst meine geistigen Ergüsse nachvollziehen und danke Dir noch einmal für Deine bisher aufgebrachte Mühe.
Und, kriegst man (du) das hin ;)?
Gruß Ralf

Anzeige
AW: VBA-Lösung erwünscht?
28.06.2016 13:21:06
Michael
Hallo Ralf,
ok, ich denke, ich hab's kapiert.
Das Makro ist (für den Profi) relativ simpel, aber Du wirst erst Mal Probleme haben, das überhaupt zum Laufen zu bringen.
Anbei Screenshots von XL2013 (2010 hab ich nicht):
Userbild
Da kommst Du über die Excel-Optionen hin, da TrustCenter und da wiederum TC-Einstellungen (oder vielleicht auch Makro-Einstellungen). Leider gibt es nur noch "aktivieren" mit "ohne Benachrichtigung", das war in alten Versionen schöner...
Wenn Du das erledigt hast, kannst Du Makros ausführen lassen.
Das Makro selbst sieht sich nur B3:B6 an: beim neuen Wert wird immer das Anfangsdatum in "Ziel" geschrieben. Beim alten wird nur dann ein Datum geschrieben, wenn die Zelle zuvor nicht leer war.
Um das Makro ansehen zu können, blendest Du die "Entwicklertools" im Hauptmenü ein. Wiederum Excel-Optionen, Menüband anpassen und dann:
Userbild
Wenn das erledigt ist und Du den neuen Menüpunkt anklickst, siehst Du links oben "Visual Basic" - eine völlig neue Welt....
Userbild
Hier ist das Makro unter "Diese Arbeitsmappe" zu finden.
Zurück zur Tabelle kommst Du mit dem Excel-Symbol.
So, hier die Datei: https://www.herber.de/bbs/user/106593.xlsm
Spiel mal damit herum, dann kann man sich noch überlegen, was passieren soll, wenn in "Ziele" bereits ein Datum vorhanden sein sollte.
Happy Exceling,
Michael

Anzeige
AW: VBA-Lösung erwünscht?
29.06.2016 15:15:03
Ralf
Hallo Michael,
danke für die schnelle Lieferung und die tolle Beschreibung.
Bin sogar relativ schnell in der neuen Welt (Visual Basic) gelandet und habe das Makro ausprobiert ;).
Ich habe zuerst einmal im Tabellenblatt Max Mustermann,
in der Zelle B3 das Ziel „Ziel 1“ ausgewählt und wie gewünscht erscheint in dem Tabellenblatt Ziele hinter dem genannten Ziel auch das aktuelle Datum.
Dasselbe habe ich dann mit der Zelle B4= das Ziel „Ziel 2“ ausgewählt , der Zelle B5= das Ziel „Ziel 3“ ausgewählt und der Zelle B&= das Ziel „Ziel 4“ ausgewählt .
Funktioniert super !
Danach habe ich ausprobiert, was passiert ,wenn man ein Ziel doppelt auswählt z.B. in Zelle B3 und B4. Dabei habe ich festgestellt, dass sich das Anfangsdatum auf die letzte Auswahl des Ziels korrigiert. Ich habe hierfür das aktuelle Datum in Windows um einen Tag in die Zukunft versetzt und dann dasselbe Ziel in der Zellen B4 ausgewählt. Das Datum dürfte sich in diesem Fall nicht verändern, da das Ziel ja bereits in einem anderen Zeitraum begonnen wurde. Sicherlich gibt es bei uns Ziele, die zu einem späteren Zeitpunkt noch mal aufgegriffen werden, aber dann müsste man dieses in der Liste mit den Zielen neu eingeben. Da ich die Ziele alle mit einer fortlaufenden Nummerierung versehen möchte, kommt jedes Ziel auch nur einmal vor (beispielhaftes Ziel: 1. Ausbau der Ausdauer und 5. Ausbau der Ausdauer= Dasselbe Ziel aber unterschiedliche Anfangsnummern ).
Vor dem nächsten Schritt habe ich die Tabelle mit dem Makro geschlossen, ohne zu speichern und danach wieder neu geöffnet.
Als Nächstes habe ich das festlegte Ziel in der Zelle B3 geändert (von Ziel 1 auf Ziel2). Danach wurden hinter dem Ziel 2 die beiden Zellen für das Anfangs- und Enddatum mit dem aktuellen Datum gefüllt. Die Zelle mit dem Enddatum für das beendete Ziel 1 wurde leider nicht mit dem aktuellen Datum gefüllt. Bei einem erneuten Wechsel des Ziels dasselbe Ergebnis.
Vor dem nächsten Schritt habe ich die Tabelle mit dem Makro geschlossen, ohne zu speichern und danach wieder neu geöffnet.
Nun habe ich ein neues Ziel in dem Tabellenblatt „Ziele“ bei den Zielen von Max Mustermann eingetragen. Die Tabelle wurde automatisch verlängert und das Ziel stand zur Auswahl in den Zellen B3 – B6 zur Verfügung. Auch bei diesem neuen Ziel wurde das Anfangsdatum richtig in die Tabelle eingetragen. SUPER !!
Vor dem nächsten Schritt habe ich die Tabelle mit dem Makro geschlossen, ohne zu speichern und danach wieder neu geöffnet.
In dem Tabellenblatt von Ralf Klausen konnte ich nichts machen, da ich dort immer die Meldung bekam „Klausen, Ralf nicht in Ziel gefunden“.
Ich habe mir jetzt mal ganz schlau diese Programmierung angesehen und nicht wirklich etwas verstanden. Konntest du mir daher bitte noch einmal helfen.
Gleichzeitig stelle ich mir die Frage, ob ich dieses Makro dann in andere Arbeitsmappen mit gleichem Aufbau aber mehreren Mitarbeitern ca. 12 Personen einfach kopieren kann oder ob man da noch etwas ändern muss?
Also Michael noch mal besten Dank für Deine bisherige Unterstützung.
Gruß Ralf

Anzeige
nur mal kurz
29.06.2016 17:28:00
Michael
Hi Ralf,
ich habe Deine Zeilen kurz überflogen, jetzt aber keine Zeit, daran was zu ändern, daß ein bereits vorhandenes Datum überschrieben wird.
Aber: daß der R.K. nicht gefunden wird, liegt daran, daß bei Du in "Ziel" nach dem Namen noch ein Leerzeichen hast: mach das raus, und es läuft.
Das hatte ich gestern sowieso vergessen: Dein Tabellenblatt heißt nämlich nicht "Ziel", sondern "Ziel ", und da ist Excel halt 200%ig: im Makro steht jetzt auch Ziel mit Leerzeichen, und wenn Du das in eine andere Datei überträgst, wo das nicht vorhanden ist, wird es auch eine Fehlermeldung bringen.
Also: bitte sehr aufpassen bei der Schreibweise!!!
Übrigens: das Makro steht bekanntlich in "Diese Arbeitsmappe", d.h., es springt bei JEDER Änderung IRGENDWO in der Datei an.
Deshalb steht ziemlich am Anfang die Zeile:
If Sh.Name = "Ziele" Or Sh.Name = "Tabelle2" Then Exit Sub

die auf deutsch heißt, daß das Makro beendet wird (exit sub), falls die Änderung im Tabellenblatt mit dem Namen (Sh.Name="xxx") "Ziele" oder "Tabelle2" erfolgt ist.
Erwünscht ist es ja nur bei den MA-Blättern.
Du könntest z.B. bei den "internen" Blättern ein "Intern_" voranstellen, also "Intern_Ziele", "Intern_usw" und besagte Codezeile ersetzen durch:
If Mid(Sh.Name,1,7) = "Intern_" Then Exit Sub
Mid gibt einen Teil von Sh.Name zurück, in dem Fall vom 1. bis zum 7. Buchstaben.
Ach ja, Makro in andere Datein:
- öffne den Windows-Editor
- kopiere das Makro da rein
- öffne der Reihe nach die anderen Datein
- kopiere das Makro aus dem Editor da rein
- speichern jeweils nicht vergessen, und zwar Excel-Datei MIT Makros (.xlsm)
Schöne Grüße,
Michael

Anzeige
Urlaub
01.07.2016 14:22:31
Ralf
Hallo Michael,
hast recht, wenn ich das Leerzeichen rausnehme geht es;).
Die anderen genannten Probleme tauchen aber auch bei RK auf.
Eigentlich wollte ich mich auch nur schnell abmelde, da wir morgen früh in den Urlaub fahren und erst am 22.07.2016 wieder da sind.
Also nicht sauer sein, wenn ich auf gestellte Fragen usw. nicht reagiere. Ich melde mich nach dem Urlaub noch mal bei Dir, wenn das okay ist?
Gruß Ralf und Dir ggf. auch einen schönen Urlaub.

AW: Urlaub
01.07.2016 18:23:02
Michael
Du Glücklicher!
Na, bis dahin fliegt die Frage raus, mußte halt dann neu aufmachen...
Viel Spaß, Grüße,
Michael
Anzeige

130 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige