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

datumnotatie in tabel

Status
Niet open voor verdere reacties.

jcb1958

Gebruiker
Lid geworden
10 feb 2013
Berichten
48
beste,

Ik heb een tabel waaraan dagelijks waarden worden toegevoegd in kolom D met een Macro. In kolom A,B en C blijven de cellen leeg en moet deze nu handmatig vullen. Ik zou dat graag met een macro willen. Ik kom er zelf helaas niet helemaal uit.

Edmoor heeft voor mij deze macro gemaakt. Nu zitten we in het nieuwe jaar 2016.

Datumformaat in doelbestand is nu dd-mmm. Ik wil dat graag wijzigen in dd-mmm-jjjj zodat de de draaitabellen, enz in het worksheet ook weer juist worden weergegeven.

Wanneer ik in de macro Cells(i, 1).NumberFormat = "dd-mmm" wijzig in Cells(i, 1).NumberFormat = "dd-mmm-jjjj" en ook in doelbestand dan wordt het weergegeven als 6-jan-jjjj.

Hoe kan dat opgelost worden?

Ik gebruik nu onderstaande macro.



Sub import()
Dim sRow As Long

Windows("Portefeuille.xlsx").Activate
Range("B4:B12").Select
Selection.Copy
Windows("Map1_test.xlsm").Activate
With Sheets("Blad1")
.Range("D" & Rows.Count).End(xlUp).Offset(1).PasteSpecial xlValues
For i = 1 To .UsedRange.Rows.Count
If Cells(i, 1) = "" Then
If sRow = 0 Then sRow = i - 1
.Cells(i, 1).NumberFormat = "dd-mmm"
.Cells(i, 1) = Date
End If
Next i
.Range("B" & sRow & ":C" & .UsedRange.Rows.Count).FillDown
End With
End Sub
 
VBA is Engelstalig, dus je moet ook Engelse afkortingen gebruiken:
Code:
    Windows("Portefeuille.xlsx").Activate
    Range("B4:B12").Copy
    Windows("Map1_test.xlsm").Activate
    With Sheets("Blad1")
        .Range("D" & Rows.Count).End(xlUp).Offset(1).PasteSpecial xlValues
        For i = 1 To .UsedRange.Rows.Count
            If Cells(i, 1) = "" Then
                If sRow = 0 Then sRow = i - 1
[B]                .Cells(i, 1).NumberFormat = "dd-mmm-yyyy"
[/B]                .Cells(i, 1) = Date
            End If
        Next i
        .Range("B" & sRow & ":C" & .UsedRange.Rows.Count).FillDown
    End With
 
Dank je wel voor de snelle reactie.

Ik had zelf wat beter na moeten denken, dan was ik er zelf ook wel opgekomen dat het Engels moest zijn.

nogmaals thx
 
Ik had zelf wat beter na moeten denken
Niet zo hard voor jezelf :). Iedereen zit wel eens door een open deur te staren onderwijl zichzelf afvragend waar het kozijn is...
Maar je mag de vraag nog op <Opgelost> zetten :).
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan