• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Datum als DD-MM-YYYY komt als MM/DD/YYYY

Status
Niet open voor verdere reacties.

SafeConstruct

Gebruiker
Lid geworden
23 apr 2021
Berichten
84
Goeiedag,

Ik heb een macro die een datumveld plaatst (of zou moeten plaatsen) als DD-MM-YYYY en bij activatie lukt dit correct. Doch open ik door middel van die macro een andere sheet waarin hij die datum (van vandaag) plaatst, doch krijg ik deze steeds onder de vorm MM/DD/YYYY.
Na enkele uurtjes zoekwerk weet ik het echt niet meer.

Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    If Target.Column = 4 Or Target.Column = 23 Or Target.Column = 26 Or Target.Column = 27 Or Target.Column = 32 Or Target.Column = 42 And Target.Count = 1 And Target.Row > 1 Then
        Sheets("CT").Range("A1") = Cells(Target.Row, 3)
        Sheets("OFFERTE").Range("A1") = Cells(Target.Row, 3)
        Sheets("OFFERTE variabel").Range("A1") = Cells(Target.Row, 3)
        Sheets("PB").Range("A1") = Cells(Target.Row, 3)
        Sheets("PID").Range("A1") = Cells(Target.Row, 3)
        Select Case Target.Column
            Case 4: Sheets("CT").Activate
            Case 23: ActiveCell.Value = "OK"
            Case 26: ActiveCell.Value = Now()
            Case 27:
            ActiveCell.Value = Now()
            Sheets("PID").Activate
            Case 32:
            ActiveCell.Value = Now()
            dosnr = Target.Offset(, -29)
                     Application.Goto Sheets("DBASE FAKS").Range("B" & Rows.Count).End(xlUp).Offset(1, 0)
                     ActiveCell = dosnr
                     ActiveCell.Offset(, 1) = Format(Date, "DD-MM-YYYY")
            Case 42: ActiveCell.Value = "OK"
        End Select
        Cancel = True
    End If
End Sub

Bij het voorbeeld in bijlage gaat het over
- in sheet database de cel AF2 dubbel aanklikken (tot dusver ok)
- in sheet dbase faks komt de datum in cel C3 (maar daar flipt hij)

Hoogst waarschijnlijk iets dom waar ik al meermaals heb over gekeken
 

Bijlagen

Code:
ActiveCell.Offset(, 1) = Date
Celeigenschappen kan je net zo goed in 1 keer goed zetten. (heb je geen format nodig en gaat het altijd goed)
 
Dit is inderdaad de oplossing ! Dank !
Doch probeer ik te begrijpen waarom dit toch niet lukte met de andere look in vba .. ? Hebt u er een idee van ?
 
VBA werkt met de Amerikaanse datumnotatie. Is nog nooit iets over geschreven hier en op andere fora. Format(date;"mm-dd-yyyy") zal het bij jouw taalinstellingen zeer waarschijnlijk wel doen.
 
Er valt niet zo veel te testen.

Code:
Sub test()
  Debug.Print Format(Date, "mm-dd-yyyy")
  Debug.Print Format(Date, "dd-mm-yyyy")
  Debug.Print CDbl(Date)
End Sub
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan