2017-08-14 2 views
0

Ich denke, dass ich versuche, etwas zu tun, was unmöglich ist. Ich habe im Bereich A1: A5 einige Termine. Diese Zellen müssen ein Datumsformat haben, da ich prüfen möchte, ob sie größer oder kleiner als ein bestimmtes Datum sind. Außerdem möchte ich diese Daten in einem Bereich A1: A5 in einem folgenden Format anzeigen: yyyy.mm. Ich denke, dass es keine Möglichkeit gibt, zwei Fliegen mit einer Klappe zu schlagen.Datumsanzeige vs Datumsformat VBA

Public Sub test() 

Range("A1:A5").NumberFormat = "yyyy.mm" 
Range("A1:A5") = Format(Date, "yyyy.mm") 

If IsDate("A2") Then 
    Range("B2") = "OK" 
End If 

End Sub 

Range("B1:B5").NumberFormat = "yyyy.mm" Veränderung der Zellen-Format auf benutzerdefinierten (yyyy.mm), aber die Daten sind noch in unveränderter Form (yyyy.mm.dd) angezeigt

Range (“A1:A5”) = Format(Date, “yyyy.dd”) zeigt die Termine yyyy.mm aber das Jahr und Monat wurde geändert in 1905.07. Außerdem haben die Daten kein Datumsformat, sondern Custom.

Es ist wirklich nicht möglich, ein Datum wie yyyy.mm anzuzeigen, aber im Datumsformat (so dass in formular bar das Datum als dd.mm.yyyy oder anders herum angezeigt wird), um sie mit anderen vergleichen zu können Termine?

Mit freundlichen Grüßen, Neke

Antwort

0

Zunächst einmal können Punkte innerhalb Daten mit ein Problem sein, weil „2017,05“ von Excel als Zahl interpretiert wird.

Sie können die Daten in "yyyy/mm" umformatieren durch so etwas wie dies mit:

For Each r In Range("A1:A5") 
    r.Value = VBA.Format(r, "yyyy/mm") 
Next r 
+0

Nö. Es funktioniert nicht ... 'Public Sub Test() Dim r Als Bereich ' Bereich ("A1: A5"). NumberFormat = "yyyy.mm" 'Bereich ("A1: A5") = Format (Datum, "yyyy/mm") für jede R In Range ("A1: A5") r.Value VBA.Format = (r, "yyyy/mm") Next r Wenn IsDate ("A2 ") Dann Bereich (" C2 ") =" test " Ende Wenn End Sub ' – neke

+0

@Neke Was ist das Format der Daten, die Sie konvertieren möchten? – Slaqr

+0

@ Slaqr das Format ist Custom yyyy.mm. In der Zelle wird z. B. 2017.07 geschrieben, aber in der Formularleiste ist 01.07.2017 sichtbar. Der Wert in der Zelle wird jedoch nicht als Datum erkannt. Aus diesem Grund kann ich keine Aussage verwenden wie in A1 neke