Microsoft Excel

Herbers Excel/VBA-Archiv

VBA: Datum erzeugen | Herbers Excel-Forum


Betrifft: VBA: Datum erzeugen von: André
Geschrieben am: 20.01.2010 11:40:09

Moin zusammen,

ich stehe ja immer noch mit Excel-VBA auf Kriegsfuß, daher heute mal wieder eine wahrscheinlich blöde Frage:
wie kann ich in VBA ein Datum erzeugen?

Ausgangslage: ich habe eine Variable mit einer Jahreszahl (Integer, z.B. 2009)
Ziel: ich möchte ein Datum mit dieser Jahreszahl zurückgeben (z.B. den 01.01.2009)

Das ganze soll in einer Funktion zum Einsatz kommen.

Was ich probiert habe, aber NICHT funktioniert:

Function Test(Tag As Variant)
    Dim Jahr As Integer
    Jahr = DatePart("yyyy", Tag)
    Test = WorksheetFunction.Datum(Jahr , 1, 1)
End Function

Benutze ich diese Funktion in einer Zelle, dann kommt #WERT! als Ergebnis raus. Wer kann mir helfen?

Gruß, André

  

Betrifft: AW: VBA: Datum erzeugen von: Chris
Geschrieben am: 20.01.2010 11:42:07

Intuitiv ohne Test: Dim Jahr as Date


  

Betrifft: AW: VBA: Datum erzeugen von: André
Geschrieben am: 20.01.2010 11:47:46

Moin Chris,

danke für Deine Intuition, die aber leider falsch ist. Jahr ist eine Zahl, und kein Datum.

Gruß, André


  

Betrifft: AW: VBA: Datum erzeugen von: Hajo_Zi
Geschrieben am: 20.01.2010 11:42:59

Halo André,

Test = cdate(Jahr , 1, 1)

GrußformelHomepage


  

Betrifft: AW: VBA: Datum erzeugen von: André
Geschrieben am: 20.01.2010 11:49:06

Moin Hajo,

Danke! So funktionierts zwar nicht, aber Du hast mich auf die richtige Fährte gelockt.

So gehts:

Test = CDate("01.01." & Jahr)
Gruß, André


  

Betrifft: AW: VBA: Datum erzeugen von: Hajo_Zi
Geschrieben am: 20.01.2010 11:52:47

Hallo André,

Du hast Recht so
DateSerial(jahr,1,1)

Gruß Hajo


Beiträge aus den Excel-Beispielen zum Thema "VBA: Datum erzeugen"