Ich habe eine For-Schleife, die ausgeführt wird, bis eine leere Zelle ist. Spalte A sind die Daten, die ein benutzerdefiniertes Format sind. Ich versuche, einen wöchentlichen (Mon - Fri) Bericht zu führen.Overflow und Mismatch Fehler
42738 kehrt 2017.01.03
42739 kehrt 2017.01.04
42740 kehrt 1/5/2017
und so weiter
Ich versuche, herauszufinden, wie Sie einen Bereichswert festlegen, um diesen wöchentlichen Bericht zu erstellen.
Die Theorie I testen war A3 - A2 = 1, die zu tues usw. mon ist,
wenn A3 - A2 = 2 dann das zeigt ein Wochenende.
dies ist der Code, den ich bisher
Dim wks As Worksheet
Dim LastDate As Long
Dim myDate As Integer
Set wks = Worksheets("Labor")
LastDate = wks.Cells(wks.Rows.Count, "A").End(xlUp).Row
For dRow = 2 To LastDate
xDate = CInt(Cells(dRow, "A").Value)
yDate = CInt(Cells(dRow - 1, "A").Value)
If xDate - yDate = 2 Then
'weekend
MsgBox ("Weekend!")
ElseIf xDate - yDate = 1 Then
'next day
ElseIf xDate - yDate = 0 Then
'same day
Else
MsgBox (xDate - yDate)
End If
myDate = 1
Next dRow
Meine Fragen sind:
Wie behebe ich den Überlauffehler für xDate =?
Warum ist yDate = ein Mismatch-Fehler?
Gibt es eine sauberere Möglichkeit, dies zu schreiben?
Vielen Dank im Voraus!
Dim myDate Solange – 0m3r