Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Datwert in VBA

Forumthread: Datwert in VBA

Datwert in VBA
23.07.2014 10:30:35
Rudi
Hallo
Wie kriege ich in VBA den "Datwert" raus?
Ich habe eine UserForm mit einem Kalender-Steuerelement. Das System soll mir nun den "Datwert" ausgeben (z.B. 41843 für den 23.7.2014).
Wie kriege ich das hin?
Sowohl "MsgBox frmMonat.MonthView1.Value" als auch "MsgBox CDate(frmMonat.MonthView1.Value)" bringen mir "nur" das Datum, z.B. "23.07.2014".
Ich benötige aber für den weiteren Verlauf die fortlaufende Zahl, den "Datwert", weil ich mit den Daten rechne.
Danke für eure Hilfe.
Gruss, Rudi

Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Datwert in VBA
23.07.2014 10:32:42
Hajo_Zi
Hallo Rudi,
cdbl()

AW: Datwert in VBA
23.07.2014 10:37:00
Rudi
Hallo Hajo,
vielen Dank! Es funktioniert einwandfrei.
Gruss, Rudi
Anzeige
;
Anzeige

Infobox / Tutorial

Datwert in VBA effizient nutzen


Schritt-für-Schritt-Anleitung

Um den "Datwert" in VBA zu erhalten, kannst du die Funktion CDbl() verwenden. Hier ist eine einfache Schritt-für-Schritt-Anleitung:

  1. Öffne den Visual Basic Editor in Excel (Alt + F11).

  2. Füge eine UserForm hinzu, falls du noch keine hast.

  3. Füge ein Kalender-Steuerelement (MonthView) zu deiner UserForm hinzu.

  4. Verwende den folgenden Code, um den Datwert aus dem Kalender-Steuerelement zu extrahieren:

    Dim datwert As Double
    datwert = CDbl(frmMonat.MonthView1.Value)
    MsgBox datwert
  5. Wenn du das Formular öffnest und ein Datum auswählst, wird der entsprechende Datwert angezeigt.


Häufige Fehler und Lösungen

  • Fehler: "Typenkonflikt" beim Verwenden von CDbl().

    • Lösung: Stelle sicher, dass das Kalender-Steuerelement tatsächlich ein Datum zurückgibt. Überprüfe den Wert vor der Umwandlung.
  • Fehler: MsgBox zeigt immer noch das Datum an.

    • Lösung: Überprüfe, ob du MsgBox korrekt verwendest. Es sollte die Variable mit dem Datwert ausgeben.

Alternative Methoden

Falls du eine andere Methode zur Berechnung des Datwerts ausprobieren möchtest, kannst du auch die DateDiff-Funktion nutzen, um den Unterschied zu einem Basisdatum zu berechnen:

Dim datwert As Long
datwert = DateDiff("d", "30.12.1899", frmMonat.MonthView1.Value)
MsgBox datwert

Diese Methode erfordert kein Umwandeln mit CDbl() und berechnet den Datwert ebenfalls korrekt.


Praktische Beispiele

Hier ist ein praktisches Beispiel, das zeigt, wie du den Datwert für verschiedene Daten berechnen kannst:

Dim datwert1 As Double
Dim datwert2 As Double

datwert1 = CDbl("23.07.2014")
datwert2 = CDbl("01.01.2020")

MsgBox "Datwert für 23.07.2014: " & datwert1
MsgBox "Datwert für 01.01.2020: " & datwert2

Wenn du dieses Beispiel ausführst, siehst du die entsprechenden Datwerte in den MsgBoxen.


Tipps für Profis

  • Nutze die Format-Funktion in Kombination mit CDbl(), um sicherzustellen, dass du das Datum im richtigen Format erhältst.
  • Verwende Kommentare in deinem VBA-Code, um die Lesbarkeit zu erhöhen und die Funktionalität zu erklären.
  • Achte darauf, die richtige Excel-Version zu verwenden, da einige Steuerelemente oder Funktionen je nach Version variieren können.

FAQ: Häufige Fragen

1. Was ist der "Datwert" in Excel? Der "Datwert" ist die fortlaufende Zahl, die ein bestimmtes Datum in Excel repräsentiert. Zum Beispiel wird der 1. Januar 1900 als 1 dargestellt.

2. Wie kann ich den Datwert in einer Excel-Formel erhalten? Du kannst die Funktion DATEVALUE() in Excel verwenden, um einen Datwert aus einem Datum zu erhalten, das als Text eingegeben ist.

3. Funktioniert dieser VBA-Code auch in Excel 365? Ja, der Code funktioniert in Excel 365 sowie in anderen Versionen von Excel, die VBA unterstützen.

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