VBA - Datum zwischen zwei Daten
#1
Hi Leute,

ich habe eine Userform, in der ein Anfangsdatum und ein Enddatum eingetragen werden. Zudem habe ich eine Excel-Tabelle, in der bereits Anfangs- (M16:M35) und Enddaten (O16:O35) stehen. Nun möchte ich gerne mittels VBA prüfen, ob das Anfangs- bzw danach das Enddatum zwischen den bereits eingetragenen Daten liegt.

Mit meiner If-Anweisung komme ich nicht weiter und die wird sicher sehr groß (weil er nacheinander die bereits eingetragenen Daten abprüfen muss). Mein Ansatz bisher:


Code:
If TextBox_Beginn.Value >= ThisWorkbook.Sheets("Test").Range("M16").Value And TextBox_Beginn.Value <= ThisWorkbook.Sheets("Test").Range("O16").Value Then
   MsgBox "Liegt dazwischen", vbInformation, "Information"
End If


Habt ihr eine Idee? :)
Top
#2
Hai, 

Prüfe deinen Code in der if Abfrage bei der 2ten Prüfung. Hier sagst du Datum Beginn ist kleiner gleich x obwohl du im ersten Teil sagst das Datum begin größer gleich x ist. Dann empfehle ich dir ein schleifenkonstrukt zu bauen

Edit:
Ich glaube ich habe was falsch verstanden. Du willst das entweder das anfangs Oder das enddatum zwischen den beiden Daten liegt? 

Grus
Top
#3
Hi Oli,

nein das stimmt so nicht, ich sage, dass der Beginn größer als x und kleiner als y sein soll - also genau dazwischen. Aber das Programm setzt es leider nicht um.
Top
#4
Hey, 

Kannst du deine Mappe hochladen?

Gruß
Top
#5
Hey,

das würde dann eine Weile dauern, da ich die Mappe nicht hochladen, sondern eine neue nachbauen müsste.

Habe noch folgenden Code ausprobiert - leider ohne Erfolg:


Code:
Dim Z1 As Long
   For Z1 = ThisWorkbook.Sheets("Test").Cells(16, 13).Row To 35
If Cells(Z1, 13) <= TextBox.Value And Cells(Z1, 15) >= TextBox.Value Then
    MsgBox "Test.", vbInformation, "Information"
End If
Next Z1
Top
#6
Habe eine Lösung gefunden :)


Code:
Dim i As Integer
   For i = 16 To 35
   If Cells(i, 13) <= TextBox_Urlaubsbeginn.Text And Cells(i, 15) >= TextBox_Urlaubsbeginn.Text Then
   MsgBox "Der Eintrag überschneidet sich mit Urlaubszeitraum " & i - 15, vbInformation, "Information"
   End If
Next i
Top
#7
Erledigt!
Top


Gehe zu:


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