Vraag & Antwoord

Programmeren

VBA Excel en datumnotatie

5 antwoorden
  • Wie kan me helpen met het volgende probleem? Ik heb een formulier gemaakt, waarin op een label met de naam LbDatum de systeemdatum wordt weergegeven met de instructie: [color=blue:0b402921eb]LbDatum.Caption=Format(Date, "dd mmm yyyy")[/color:0b402921eb] De daum wordt dan weergegeven als volgt: 14 sep 2003, 14 okt 2003 etc. . Met een spinbutton kan de datum worden verhoogd of verlaagd. Met de instructie [color=blue:0b402921eb]Activecell.Offset(rijen,0).value=LbDatum.Caption[/color:0b402921eb] wordt de gekozen datum in een werkblad weggeschreven. De betreffende kolom is aangemerkt als datumveld, type 03-07-84. Behalve de maanden mei en oktober, worden de gegevens correct weggeschreven als 14-09-03, 14-11-03 etc. Bij de maand mei wordt de datum vermeld als 14 mei 2003 en de maand oktober als 14 10 2003. De cellen zelf zijn tekstvelden geworden, die je eerst moet converteren om er verder mee te kunnen werken. Zo worden ze bijvoorbeeld niet in een overzicht opgenomen. Wat doe ik fout?
  • je zou een kunnen proberen na elke wijzging de celeigenschappen opnieuw te zetten Activecell.Offset(rijen,0).value=LbDatum.Caption activecell.NumberFormat="dd-mm-yyyy" hoe staan de region settings van excel en windows zelf, hier heb ik ook al de meest vreemde situaties meegemaakt. ik neem aan dat je datum ophoogt met nieuwedatum=DateAdd("d",aantal,datum) Peter
  • Hallo Henrih, Wat jij nu doet is tekst weer omzetten naar datum formaat. Dat gaat bij mij ook wel eens fout. Ik denk dat je het beste de datum kan opslaan in een variabele en die datum op de worksheet zetten i.p.v. de datum van het label. Zo hoef je niet steeds om te switchen van datumformaat-middel naar tekst naar datumformaat-kort. Groeten, Wouter
  • Dank voor het meedenken. Ik ben er nog niet echt mee verder gegaan. Eerste probeersel leveren helaas nog niet het gewenste sesultaat. Ik heb het vermoeden dat de oplossing waarschijnlijk gezocht moet worden in het verschil tussen de Europese datumnotatie (d-m-y) van Windows/Excel en de Amerikaanse van VBA (m-d-y)
  • Probeert eens met de functie [b:ee49282655]DateSerial()[/b:ee49282655]. Bijvoorbeeld: [code:1:ee49282655] Dim myDate As Date myDate = DateSerial(2003, 10, 25) [/code:1:ee49282655]

Beantwoord deze vraag

Weet jij het antwoord op deze vraag? Registreer of meld je aan met je account

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.