Clever-Excel-Forum

Normale Version: VBA - Datum vergleichen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo Zusammen,

wollte mal fragen ob es eine Möglichkeit gibt um zu sehen welches Datum näher an einem bestimmten Datum liegt?

Die erste Tabelle geht von A3:O80.
Die zweite Tabelle von A90:L100

Mein Makro sucht durch eine Schleife in der ersten Tabelle in Spalte A nach einem Bestimmten Wert. Kommt der Wert vor soll das Makro in Spalte M das Datum mit einem Datum aus der zweite Tabelle (Spalte L) vergleichen und wenn die Bedingung passt, die Zeile in Spalte A grün färben und bestimmte Werte in Spalte D schreibt 
(Bis hier alles kein Problem)

Nun möchte ich aber, dass wenn zum Beispiel das Datum aus Zeile 94 näher am Datum in der ersten Tabelle liegt als z.B. Zeile 90, dann sollen die Werte aus Zeile 94 in der ersten Tabelle in Spalte D schreiben anstatt die von Zeile 90. 

Zur Zeit schaut mein Makro so aus, hier wird aber nur kontrolliert ob das Datum aus Tabelle 2 kleiner ist als das aus Tabelle 1

Code:
Private Sub CommandButton2_Click()
   Dim lastrow As Long
   
   lastrow = ActiveSheet.Cells(Rows.Count, "A").End(xlUp).Row
   
   For i = 3 To 80
   
       If Cells(i, 1) = "Super Simultan IV" And _               ' Suche nach Wert in Spalte A
       Cells(i, 4) = "" And _                                   ' Kontrolle ob Spalte D leer
       Cells(i, 9) = "Main machine" Then                        ' Suche nach Wert in Spalte I

           ' Hier sollte jetzt verglichen werden welches Datum aus der zweiten Tabelle näher am Datum aus der ersten Tabelle liegt.
           For b = 90 To 100
                If Cells(b, 1) = "Super Simultan IV TSP" And _
                Cells(b, 4) = "" And _
                CDate(Cells(b, 12)) < CDate(Cells(a, 13)) Then      
                    Cells(a, 1).Interior.Color = RGB(0, 255, 0)
                    Cells(a, 4).Value = Cells(b, 3)
                    Cells(b, 4).Value = Cells(a, 3)
                End If
            Next b
       End If
       If i = 27 Then
           MsgBox " "
       End If
   Next i
End Sub

Ich hoffe jemand kann mir hier einen Tipp geben wie ich das machen kann.

Danke :)
Hallo,

zeige doch mal deine Datei.
(02.08.2018, 11:42)Klaus-Dieter schrieb: [ -> ]Hallo,

zeige doch mal deine Datei.

Die Original Datei kann ich leider nicht hochladen. Habe aber eine ähnliche Datei erstellt.

Eigentlich will ich, dass wenn ich für z.B. Maschine A den Storage Typ A zuweisen möchte, dass das Makro das Datum in Spalte D mit denen aus Spalte H vergleicht und das "Ready To Use" Datum wählt welches am nächsten am "Start" Datum liegt.

Dann soll er die Storage Nr. in Tabelle C einfügen (Das habe ich aber schon gelöst). 

Ich hoffe du kannst mir so helfen.  :)
Hallöchen,

müsste ReadyToUse nach dem Start liegen? Bei Maschine A würde dann überall der 12.12.2018 stehen?