• 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.

Omdraaien van datums in macro

Status
Niet open voor verdere reacties.

rvt1982

Gebruiker
Lid geworden
10 aug 2011
Berichten
156
Beste Leden,

Ik heb een klein vraagje.
ik heb netzo als verschillende andere het probleem dat de datum's bij het wegschrijven word omgedraait.

Dus ik type in 11-08-2011
en word weggeschreven als 08-11-2011

ik heb verschillende oplossingen gezien alleen krijg het niet goed in mijn macro code.

wie kan mij aangeven welke code ik nodig heb en waar deze moet staan.
oja het is een excel 2003

Alvast bedankt.

Code:
Option Explicit

Private Sub Opslaan_Click()
Dim iRow As Long
Dim lPart As Long

Dim ws As Worksheet
Set ws = Worksheets("Database")

'find  first empty row in database
iRow = ws.Cells(Rows.Count, 1) _
  .End(xlUp).Offset(1, 0).Row

'check for a part number
If Trim(Me.Naam.Value) = "" Then
  Me.Naam.SetFocus
  MsgBox "Please enter a part number"
  Exit Sub
End If

'copy the data to the database
With ws
  .Cells(iRow, 1).Value = Me.Naam.Value
  .Cells(iRow, 2).Value = Me.Datum.Value
  .Cells(iRow, 3).Value = Me.Van.Value
  .Cells(iRow, 4).Value = Me.Tot.Value
  .Cells(iRow, 5).Value = Me.Machine.Value
  .Cells(iRow, 6).Value = Me.Melding.Value
End With

'clear the data
Me.Naam.Value = "--Select--"
Me.Datum.Value = ""
Me.Van.Value = "--Select--"
Me.Tot.Value = "--Select--"
Me.Melding.Value = "--Select--"
Me.Machine.Value = "--Select--"
Me.Naam.SetFocus

End Sub

Private Sub Sluiten_Click()
  Unload Me
End Sub

Private Sub UserForm_Initialize()
Dim CNaam As Range
Dim CWerktijdVanaf As Range
Dim CWerktijdTot As Range
Dim CMelding As Range
Dim cPart As Range
Dim Cmachine As Range
Dim ws As Worksheet
Set ws = Worksheets("Gegevens")

'Naam tabel
For Each CNaam In ws.Range("Naam")
  With Me.Naam
    .AddItem CNaam.Value
  End With
Next CNaam

'TijdVanaf tabel
For Each CWerktijdVanaf In ws.Range("WerktijdVanaf")
  With Me.Van
    .AddItem CWerktijdVanaf.Value
    .List(.ListCount - 1, 1) = CWerktijdVanaf.Offset(0, 1).Value
  End With
Next CWerktijdVanaf

'TijdTot tabel
For Each CWerktijdTot In ws.Range("WerktijdTot")
  With Me.Tot
    .AddItem CWerktijdTot.Value
    .List(.ListCount - 1, 1) = CWerktijdTot.Offset(0, 1).Value
  End With
Next CWerktijdTot

'Melding tabel
For Each CMelding In ws.Range("Melding")
  With Me.Melding
    .AddItem CMelding.Value
  End With
Next CMelding

'Machine tabel
For Each Cmachine In ws.Range("Machine")
  With Me.Machine
    .AddItem Cmachine.Value
  End With
Next Cmachine

'Opstart scherm
Me.Naam.Value = "--Select--"
Me.Datum.Value = ""
Me.Van.Value = "--Select--"
Me.Tot.Value = "--Select--"
Me.Melding.Value = "--Select--"
Me.Machine.Value = "--Select--"
Me.Naam.SetFocus

End Sub
 
Ik zie zo snel geen datum in de code staan, dus een algemener antwoord met nu als voorbeeld:
Code:
format (now,"dd-mm-yy")
 
@Rob

Bedankt rob, kan je mij ook vertellen waar deze moet, ik heb te weinig ervaring hier mee.
Alvast bedankt.
 
Code:
.Cells(iRow, 2).Value = Format(Me.Datum.Value,"dd-mm-yyyy")
 
@Warme bakkertje

bedankt, maar blijft de dag en maand omdraaien..
 
Zo dan.
Code:
.Cells(iRow, 2).Value = datevalue(Me.Datum)
 
Graag gedaan,

Niet vergeten het als opgelost te zetten.
Bvd.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan