Help!

PC-Problemen?
De vrijwilligers van Oplossing.be zoeken gratis met u mee!

Hulp bij posten

Recente topics

Auteur Topic: Datum automatische verandering  (gelezen 7279 keer)

0 leden en 1 gast bekijken dit topic.

Offline Moo

  • Ambassadeur
  • *****
  • Berichten: 1.165
  • Geslacht: Man
  • Waar het hart van vol is, loopt de tekst van over.
Datum automatische verandering
« Gepost op: 11 februari 2008, 12:08:15 »
In een textbox zet ik de datum van vandaag door een dubbele klik, zo:
Private Sub TextBox5_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
 If TextBox5.Value > "" Then
     Exit Sub
     End If
TextBox5.Value = Format(Date, "dd/mm/yyyy")
End Sub
Daarna kan ik dit wegschrijven naar een werkblad. Daar wordt de maand met  de dag omgekeerd ( 1-12-2008 wordt 12-1-2008, volgende wewerking weer terug 1-12-2008 enz.). Ik kan die datum terug ophalen en in dezelfde textbox zetten en weer terug opslagen. Telkens wordt de datum omgekeerd. De eigenschappen op het werkblad is dd/mm/jjjj
Wat doe ik eraan?
ASRock P43 Pro/USB3, Intel 2 Quad cpu Q9550 2.83GHz, 2840 MHz, NVIDIA GeForce GTS 450, Win7 oem 64bit pre NL, Realtek, HD:1tb, 4 Gb DDR3, KIS, Firefox, Ms-Outlook 2007, Telenet

Online RedHead

  • Excel-Expert
  • Ambassadeur
  • *****
  • Berichten: 2.284
  • Geslacht: Man
  • Met Excel lukt 't wel.... (toch???)
Re: Datum automatische verandering
« Reactie #1 Gepost op: 11 februari 2008, 12:32:40 »
Moo, als je op een gegeven moment de waarde uit je textbox gaat wegschrijven, moet je dat doen met de functie 'DateValue'. De syntax wordt zoiets als
Range("A1").value = DateValue(TextBox5.Value ) Je moet dan wel het format in je cel goed hebben staan.

En als dat niet werkt, kan je ook gebruik maken van de functie 'DateSerial'. De syntax hiervan is dan
Range("A1").value = DateSerial(Year(TextBox5.Value), Month(TextBox5.Value), Day(TextBox5.Value))
Groet, Leo
______________________________

Groet, Leo

Offline Moo

  • Ambassadeur
  • *****
  • Berichten: 1.165
  • Geslacht: Man
  • Waar het hart van vol is, loopt de tekst van over.
Re: Datum automatische verandering
« Reactie #2 Gepost op: 11 februari 2008, 12:58:12 »
Weer bedankt voor de hulp.
c.Offset(r, 5) = DateValue(TextBox5.Value)Dit lijkt het te doen en laat de datum staan, maar geeft bij leegmaken een fout:
Typen komen niet overeen (Fout 13)
of na wegklikken van de  fout daarna F1
Niet-eenduidige selectie.
ASRock P43 Pro/USB3, Intel 2 Quad cpu Q9550 2.83GHz, 2840 MHz, NVIDIA GeForce GTS 450, Win7 oem 64bit pre NL, Realtek, HD:1tb, 4 Gb DDR3, KIS, Firefox, Ms-Outlook 2007, Telenet

Online RedHead

  • Excel-Expert
  • Ambassadeur
  • *****
  • Berichten: 2.284
  • Geslacht: Man
  • Met Excel lukt 't wel.... (toch???)
Re: Datum automatische verandering
« Reactie #3 Gepost op: 11 februari 2008, 22:08:01 »
Moo, wat bedoel je met 'leegmaken'? Heb je weer een voorbeeldsheetje?

Groet, Leo
______________________________

Groet, Leo

Offline Moo

  • Ambassadeur
  • *****
  • Berichten: 1.165
  • Geslacht: Man
  • Waar het hart van vol is, loopt de tekst van over.
Re: Datum automatische verandering
« Reactie #4 Gepost op: 12 februari 2008, 08:00:14 »
Leo, bij nader inzien werkt het toch niet.
De code is ingegeven voor de twee eerste datumvelden.
Ik bedoel met "leegmaken", dat ik bij vergissing ook het veld wil leegmaken, dat was zo voorzien in de rest van de code.
Dit voorbeeldje heeft wat extra meegekregen tegenover het andere op mijn server.
Testvoorbeeldje hier:
https://rumst.110mb.com/testKlant.xls
ASRock P43 Pro/USB3, Intel 2 Quad cpu Q9550 2.83GHz, 2840 MHz, NVIDIA GeForce GTS 450, Win7 oem 64bit pre NL, Realtek, HD:1tb, 4 Gb DDR3, KIS, Firefox, Ms-Outlook 2007, Telenet

Offline Moo

  • Ambassadeur
  • *****
  • Berichten: 1.165
  • Geslacht: Man
  • Waar het hart van vol is, loopt de tekst van over.
Re: Datum automatische verandering
« Reactie #5 Gepost op: 12 februari 2008, 12:30:24 »
De celeigenschappen op het werkblad zijn: dd/mm/jjjj
De dag van vandaag in vba staan: dd/mm/yyyy
Als ik die datum ophaal naar de textbox:
dan is het bv zo, 01-02-2008
Heeft dit er wat mee te stellen?
Ergens een lichtje, denkrichting, ietssiepietsie :) ??
ASRock P43 Pro/USB3, Intel 2 Quad cpu Q9550 2.83GHz, 2840 MHz, NVIDIA GeForce GTS 450, Win7 oem 64bit pre NL, Realtek, HD:1tb, 4 Gb DDR3, KIS, Firefox, Ms-Outlook 2007, Telenet

Offline Moo

  • Ambassadeur
  • *****
  • Berichten: 1.165
  • Geslacht: Man
  • Waar het hart van vol is, loopt de tekst van over.
Re: Datum automatische verandering
« Reactie #6 Gepost op: 13 februari 2008, 10:13:01 »
Na testen, blijkt het probleem er niet te zijn als alle gegevens via vba gemaakt zijn. Dus, ik dubbelklik op het datumveld en klik op "invoeren", dan is er geen probleem na ophalen.
Wel als ik de datum met de hand ingeef op het werkblad en daarna opzoek, de maand met de dag worden dan omgekeerd.
de datumweergaven in de textbox is dan een datum met "-" tussen, alhoewel ik het ingaf met een "/" tussen.
Ik heb al alle cellen vervangen door originele opmaakeigenschappen (zonder datumeigenschappen)
Het testvoorbeeldje is vernieuwd, met de aanpassing van de celeigenschappen.
 :'(  Niets?
ASRock P43 Pro/USB3, Intel 2 Quad cpu Q9550 2.83GHz, 2840 MHz, NVIDIA GeForce GTS 450, Win7 oem 64bit pre NL, Realtek, HD:1tb, 4 Gb DDR3, KIS, Firefox, Ms-Outlook 2007, Telenet

Offline Moo

  • Ambassadeur
  • *****
  • Berichten: 1.165
  • Geslacht: Man
  • Waar het hart van vol is, loopt de tekst van over.
Re: Datum automatische verandering
« Reactie #7 Gepost op: 13 februari 2008, 22:57:24 »
With Worksheets(1).Range("b:b")
      Set c = .Find(TextBox3.Value, LookIn:=xlValues)  If Not c Is Nothing Then
            firstAddress = c.Address
          Do
            c.Offset(r, 5) = DateValue(TextBox5.Value) 'datum 1 naar kolom G
            c.Offset(r, 6) = TextBox6.Value 'bedrag 1
Wie help met een If?
kan het in orde komen in deze richting (ik weet dat dit zwart gebakken is, dus lach maar  ;D ):
c.Offset(r, 5) = if textbox5.value ="" then c.Offset(r, 5) = "" else DateValue(TextBox5.Value)
ASRock P43 Pro/USB3, Intel 2 Quad cpu Q9550 2.83GHz, 2840 MHz, NVIDIA GeForce GTS 450, Win7 oem 64bit pre NL, Realtek, HD:1tb, 4 Gb DDR3, KIS, Firefox, Ms-Outlook 2007, Telenet

Online RedHead

  • Excel-Expert
  • Ambassadeur
  • *****
  • Berichten: 2.284
  • Geslacht: Man
  • Met Excel lukt 't wel.... (toch???)
Re: Datum automatische verandering
« Reactie #8 Gepost op: 14 februari 2008, 09:00:06 »
Moo, (momenteel ben ik erg druk, zowel prive als zakelijk dus reageer ik ff minder regelmatig MAAR ik blijf het wel volgen! ;))
Je kan in code de IIF functie gebruiken. Je regel wordt danc.Offset(r, 5) = IIF( textbox3.value ="", "" , DateValue(TextBox5.Value)Voor zover ik de vraag goed begrijp...  :)

Groet, Leo
______________________________

Groet, Leo

Offline Moo

  • Ambassadeur
  • *****
  • Berichten: 1.165
  • Geslacht: Man
  • Waar het hart van vol is, loopt de tekst van over.
Re: Datum automatische verandering
« Reactie #9 Gepost op: 14 februari 2008, 20:14:21 »
Leo, weer dank voor uw hulp.
Ik krijg die laatste IIF formule niet aan de praat.
Dit zet de datum goed, maar kan niet overweg met lege textboxen:
c.Offset(r, 5) = DateValue(TextBox5.Value)

Dit heeft geen probleem met lege textboxen, maar helpt de datum om zeep en geeft problemen met manueel ingevulde cellen:
c.Offset(r, 5) = TextBox5.Value

Ik hoopte met "IF" verder te kunnen.
ASRock P43 Pro/USB3, Intel 2 Quad cpu Q9550 2.83GHz, 2840 MHz, NVIDIA GeForce GTS 450, Win7 oem 64bit pre NL, Realtek, HD:1tb, 4 Gb DDR3, KIS, Firefox, Ms-Outlook 2007, Telenet

Offline Moo

  • Ambassadeur
  • *****
  • Berichten: 1.165
  • Geslacht: Man
  • Waar het hart van vol is, loopt de tekst van over.
Re: Datum automatische verandering
« Reactie #10 Gepost op: 19 februari 2008, 16:23:15 »
Ik zit nog steeds te knoeien met een button die de datum met de dag en de maand omdraait. 1-2-2008 wordt 2-1-2008. Elke klik wordt de datum omgekeerd. Dit gebeurt met het uitvoeren van deze code.
rivate Sub CommandButton3_Click()
      With Worksheets(1).Range("b:b")
      Set c = .Find(TextBox3.Value, LookIn:=xlValues) 
             If Not c Is Nothing Then
            firstAddress = c.Address
          Do
            c.Offset(r, 5) = DateValue(TextBox5.Value)   'datum 1
            c.Offset(r, 6) = TextBox6.Text 'bedrag 1
            c.Offset(r, 7) = TextBox7.Text 'datum 2

               'Veel dezelfde code uitgeknipt. 
     
           Set c = .FindNext(c)
        Loop While Not c Is Nothing And c.Address <> firstAddress '
        End If
   End With

End Sub
weet iemand iets? een volledig werkblad staat nog steeds op mijn server: https://rumst.110mb.com/testKlant.xls
ASRock P43 Pro/USB3, Intel 2 Quad cpu Q9550 2.83GHz, 2840 MHz, NVIDIA GeForce GTS 450, Win7 oem 64bit pre NL, Realtek, HD:1tb, 4 Gb DDR3, KIS, Firefox, Ms-Outlook 2007, Telenet

Offline spyder

  • Ambassadeur
  • *****
  • Berichten: 5.265
  • PC probleem zit meestal tussen scherm en rugleun
Re: Datum automatische verandering
« Reactie #11 Gepost op: 19 februari 2008, 19:27:21 »
Hoi Moo,

Probeer eens door je code aan te vullen zoals onderstaande.

c.Offset(r, 5) = Format(TextBox5.Value, "mm/dd/yyyy") 'datum 1 naar kolom G
c.Offset(r, 6) = TextBox6.Value  'bedrag 1
c.Offset(r, 7) = Format(TextBox7.Value, "mm/dd/yyyy") 'datum 2
c.Offset(r, 8) = TextBox8.Value 'bedrag 2

Ik weet het niet zeker, maar deze code "lijkt" bij mij wel goed te gaan.

groetjes


 
Windows 7 Ultimate Unknow NLD
Intel(R) Core(TM) i7 CPU         870  @ 2.93GHz 2934
P7P55D-E PRO
NVIDIA GeForce GTX 470 1280MB 1680 x 1050
HD 1 : INTEL SSDSA2M080G2GC (80GB)
HD 2 : ST31500341AS (1,5TB)
HD 3 : ST320006 41AS (2TB)
browser: Maxthon  mail:Thunderbird AV: Bitdefender
Scarlet user

Offline Moo

  • Ambassadeur
  • *****
  • Berichten: 1.165
  • Geslacht: Man
  • Waar het hart van vol is, loopt de tekst van over.
Re: Datum automatische verandering
« Reactie #12 Gepost op: 20 februari 2008, 15:30:51 »
Op het eerste zicht werkt het goed. Bedankt voor alle reacties.
ASRock P43 Pro/USB3, Intel 2 Quad cpu Q9550 2.83GHz, 2840 MHz, NVIDIA GeForce GTS 450, Win7 oem 64bit pre NL, Realtek, HD:1tb, 4 Gb DDR3, KIS, Firefox, Ms-Outlook 2007, Telenet

 


www.combell.com