Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Format(Now) auf Gestern setzten VBA

Forumthread: Format(Now) auf Gestern setzten VBA

Format(Now) auf Gestern setzten VBA
15.07.2018 13:14:53
Lisa
Guten Morgen,
ich habe eine kurze Frage zu einem VBA Problem.
Wie kann ich den Code so abändern, dass das Datum von gestern, vorgestern usw. in die Zelle geschrieben wird?
Vielen Dank und LG
Lisa
Private Sub CheckBox1_Click()
If CheckBox1.Value = True Then _
Worksheets("Datum").Range("B10") = Format(Now(), "dd.mm.yyyy")
If CheckBox1.Value = False Then
Range("B10") = ""
End If
End Sub

Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Format(Now) auf Gestern setzten VBA
15.07.2018 13:19:59
Hajo_Zi
Du schreibst kein Datum in die Zelle sondern Text.
Format(Now()-1, "dd.mm.yyyy")

Beiträge von Werner, Luc, robert, J.O.Maximo und folgende lese ich nicht.
AW: Format(Now) auf Gestern setzten VBA
15.07.2018 13:24:06
Lisa
Hallo Hajo,
ich hätte schwören können, dass ich genau das eben ausprobiert habe mit dem folgenden Ergebnis 15072018 statt 14.07.2018.
Jetzt geht es :D
Werde die -1 wohl aus Versehen an die falsche Stelle gesetzt haben.
Vielen Dank und Gruß
Lisa
Anzeige
AW: Format(Now) auf Gestern setzten VBA
15.07.2018 13:33:00
Hajo_Zi
und mit Datum, nicht Text der aussieht wie Datum.
Option Explicit
Private Sub CheckBox1_Click()
If CheckBox1.Value = True Then _
Worksheets("Datum").Range("B10") = Now() - 1
Worksheets("Datum").Range("B10").NumberFormat = "dd.mm.yyyy"
If CheckBox1.Value = False Then
Range("B10") = ""
End If
End Sub
Gruß Hajo
Anzeige
AW: Format(Now) auf Gestern setzten VBA
15.07.2018 13:48:47
Lisa
Vielen Dank.
Gruß Lisa
AW: Format(Now) auf Gestern setzten VBA
15.07.2018 17:00:24
snb
Es gibt 'Date' in VBA:
sheets("Datum").Range("B10") = Date - 1

;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Datum von gestern mit VBA in Excel setzen


Schritt-für-Schritt-Anleitung

Um das Datum von gestern in eine Excel-Zelle zu schreiben, kannst du den folgenden VBA-Code verwenden. Dieser wird bei einem Klick auf eine Checkbox ausgeführt:

Private Sub CheckBox1_Click()
    If CheckBox1.Value = True Then _
        Worksheets("Datum").Range("B10") = Now() - 1
    Worksheets("Datum").Range("B10").NumberFormat = "dd.mm.yyyy"
    If CheckBox1.Value = False Then
        Range("B10") = ""
    End If
End Sub
  1. Öffne deinen Excel-Arbeitsblatt und gehe in den VBA-Editor (Alt + F11).
  2. Füge diesen Code in das entsprechende Arbeitsblatt ein, in dem du die Checkbox hast.
  3. Stelle sicher, dass die Checkbox mit CheckBox1 benannt ist.
  4. Wenn die Checkbox aktiviert wird, wird das Datum von gestern in die Zelle B10 geschrieben und im Format "dd.mm.yyyy" angezeigt.

Häufige Fehler und Lösungen

  • Fehler: Das Datum wird als Text angezeigt.

    • Lösung: Stelle sicher, dass du die NumberFormat-Eigenschaft setzt, um das Datum richtig zu formatieren:
      Worksheets("Datum").Range("B10").NumberFormat = "dd.mm.yyyy"
  • Fehler: Falsches Datum (z.B. 15072018 statt 14.07.2018).

    • Lösung: Überprüfe, ob du den Code korrekt eingetragen hast. Stelle sicher, dass Now() - 1 wirklich das gewünschte Datum liefert.

Alternative Methoden

Du kannst auch die Date-Funktion verwenden, um das Datum von gestern einfach zu setzen:

Sheets("Datum").Range("B10") = Date - 1

Diese Methode ist besonders nützlich, wenn du nur das aktuelle Datum benötigst, ohne die Zeitkomponente.


Praktische Beispiele

Hier sind einige praktische Beispiele, wie du das Datum von gestern in verschiedenen Formaten darstellen kannst:

  1. Standardformat (dd.mm.yyyy):

    Worksheets("Datum").Range("B10") = Format(Now() - 1, "dd.mm.yyyy")
  2. US-Format (mm/dd/yyyy):

    Worksheets("Datum").Range("B10") = Format(Now() - 1, "mm/dd/yyyy")
  3. Erweiterte Formatspezifikation:

    Worksheets("Datum").Range("B10") = Format(Now() - 1, "dd-mm-yyyy")

Tipps für Profis

  • Nutze die Debug.Print-Funktion, um zu überprüfen, ob das Datum korrekt berechnet wird:

    Debug.Print Now() - 1
  • Berücksichtige Zeitzonen, wenn du mit Datums- und Zeitangaben arbeitest, um unerwartete Ergebnisse zu vermeiden.

  • Experimentiere mit verschiedenen NumberFormat-Einstellungen, um das Datum nach deinen Bedürfnissen anzupassen.


FAQ: Häufige Fragen

1. Wie kann ich das Datum auf vorgestern setzen? Du kannst einfach Now() - 2 verwenden, um das Datum von vorgestern zu erhalten:

Worksheets("Datum").Range("B10") = Now() - 2

2. Was ist der Unterschied zwischen Now() und Date? Now() gibt das aktuelle Datum und die aktuelle Uhrzeit zurück, während Date nur das aktuelle Datum ohne die Zeitkomponente zurückgibt.

3. Wie kann ich das Datum im Format "yyyy-mm-dd" anzeigen? Du kannst das Datum so formatieren:

Worksheets("Datum").Range("B10") = Format(Now() - 1, "yyyy-mm-dd")

4. Funktioniert dieser Code in allen Excel-Versionen? Der bereitgestellte VBA-Code sollte in den meisten Excel-Versionen funktionieren, die VBA unterstützen, einschließlich Excel 2010, 2013, 2016 und 2019.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige