Namen mehrzeilig nach Datum befüllen
25.12.2017 21:29:26
Ibo
zurzeit arbeite ich an einem eigenen Plan, dass ich immer manuell in Excel machen muss. Jetzt will ich es gerne soviel wie möglich automatisieren. Dazu habe ich eine Art Skizze (im Anhang) gemacht, um es sich vorstellen zu können. Ich könnte es mir gut vorstellen, dass es mit VBA super funktioniert.
Es geht um folgendes: In der ersten Reihe sind die Datums und in der zweiten Reihe die Wochentagsnamen. Die anderen Spalten sind die Orte im Haus an dem gearbeitet werden sollen. Sams- und Sonntage (auch wenn möglich Feiertage (manuell rot markieren)) sind die Zeilen vollständig mit Rot markiert, da an dem Tag nicht gearbeitet wird.
Ich stelle mir vor: Eine Userform, die folgendes beinhaltet: Das Datumsfeld (Textbox) für den Beginn, Namensfeld für Person, sowie Objekt für Farbauswahl und eventuell, wenn es muss, ein Feld für Ortswahl falls es mit der automatischen Einsortierung nicht funktioniert und ein Button, der den Befehl abschickt.
Datenübertragung:
1) Ich kann anhand des Eingabedatums in der Userform mit der Excel-Tabelle vergleichen
2) die genannte Person in der Textbox mit der dazugehörigen Farbe in die Spalte des Ortes automatisch an die letzte Zeile der bereits vorher eingesetzten Person dranhängen. (Beispiel Exceltabelle)
3)Die Einsortierung muss eine Struktur haben. In der Exceltabelle habe ich ein Beispiel mit "neue Person" gemacht.
4) Rote Zeilen sollen übersprungen werden
Hinweis: Es fängt immer bei den Zimmern an. Es muss nur darauf geachtet werden, dass diese Spalten sinnvoll befüllt werden.
Für Punkt 1, kann ich sowas ähnliches vorstellen. Leider habe ich Schwierigkeiten es umzusetzen und daher auf eure Hilfe angewiesen.
Dim strDatum As String
strDatum = Beginn_DT.Value
For Each rngZelle In Workbooks("Plan.xlsx").Worksheets(1).Range("A:A")
Debug.Print
If rngZelle = strDatum Then
Personname mit der Zellenfarbe einfügen in Exceldokument ab dem eingegeben Datum (Beginn_DT) und zu dem Ort Zimmer (in welches Zimmer, richtet sich immer nach "unbelegt", wie Beispiel Plan.xlsx). Die Person für Zimmer für 6 tagelang belegen, das nächste Zimmer auch 6 tagelang, dann 9 Tage für den Garten und 3 Tage für Flur. Mit der Bedingung, dass wenn die Zeile Rot ist, der Wert übersprungen wird.
Exit Sub
End If
Next rngZelle
Ich hoffe, dass es verständlich ist.
Ein frohes Fest wünsche ich euch.
https://www.herber.de/bbs/user/118515.xlsx