Zeitraum auslesen und Tagesscharf wieder geben :)
#1
Hallo zusammen,

ich habe mich schon länger nicht mehr blicken lassen aber nun reichen YouTube Videos doch nicht mehr aus :)

Ich würde gerne eine Liste erstellen für die Urlaubs und Krankenvertretung in Fremdleistung...
Meine Idee ist, dass ich eine Userform erstelle wo das Startdatum und das Enddatum der Vertretung eingetragen wird und noch einigen andere daten wie Name wochentag usw...

Sobald dann ein Button betätigt wird hätte ich gerne, dass Excel den Zeitraum erkennt und für jeden Tag eine Zeile verwendet wo alle Daten stehen.

Ich hoffe man kann mir folgen ? :D Habe noch keine Beispieldatei da ich erstmal wissen wollte ob dies überhaupt möglich ist :)

Beispiel:

In Userform 09.05.2022 - 16.05.2022 Peter Krankheit Bahnhof Asshausen 06:00 - 14:30 KRW

In der Tabelle

Mo 09.05.2022 Peter Krankheit Bahnhof Asshauen 06:00 - 14:30 KRW
Di 10.05.2022 Peter Krankheit Bahnhof Asshauen 06:00 - 14:30 KRW
Mi 11.05.2022 Peter Krankheit Bahnhof Asshauen 06:00 - 14:30 KRW
Do 12.05.2022 Peter Krankheit Bahnhof Asshauen 06:00 - 14:30 KRW

Usw :)

Vielen Dank für die Hilfe.
Antworten Top
#2
Hi,

klar ist das möglich. Aber ob da extra eine Userform notwendig ist, das Stelle ich mal in Frage. Scheint mir wohl eher ein Annäherungsversuch an VBA zu sein... :)
In dem Fall empfehle ich erstmal sich die Basics der Programmierung anzueignen.
Der sicherste Ansatz für einen Irrtum ist der Glaube, alles im Griff zu haben.
Nur, weil ich den Recorder bedienen kann, macht mich das noch lange nicht zum Musiker.

Ciao, Ralf

Antworten Top
#3
Hallo,

ohne UserForm, aber mit zwei Sheets, könnte es so oder so ähnlich gehen:

Code:
Sub F_en()
Dim Tx As String, Tage As String, Datum

With Sheets("Eingabe")
    lr = .Cells(Rows.Count, 1).End(xlUp).Row
    For i = 2 To lr
        If .Cells(i, 2) = "x" Then GoTo NN
        Tx = Cells(i, 1)
        For b = 1 To Len(Tx)
            If Mid(Tx, b, 1) Like "[A-Za-z]" Then Exit For
        Next b
        Tage = Left(Tx, b - 1)
        Tx = Mid(Tx, b)
        Datum = Split(Tage, "-")
        lr2 = Sheets("Liste").Cells(Rows.Count, 1).End(xlUp).Row
        For d = CLng(CDate(Datum(0))) To CLng(CDate(Datum(1)))
            lr2 = lr2 + 1
            Sheets("Liste").Cells(lr2, 1) = d
            Sheets("Liste").Cells(lr2, 1).NumberFormat = "m/d/yyyy"
            Sheets("Liste").Cells(lr2, 2) = Tx
        Next d
        .Cells(i, 2) = "x"
NN:
    Next i
    
End With
End Sub

mfg


Angehängte Dateien
.xlsm   Datumsliste.xlsm (Größe: 19 KB / Downloads: 3)
Antworten Top


Gehe zu:


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