204roermond
Nieuwe gebruiker
- Lid geworden
- 24 apr 2019
- Berichten
- 4
Ik ben een leek met macro's, maar toch heb ik alles werkend wat ik zou willen op 1 ding na. Ik zou graag een macro willen maken, waarbij de nullen (0) in een kolom worden vervangen door de datum van vandaag (welke op deze manier is geschreven: jjjj-mm-dd). Nu heb ik dit op twee manieren geprobeerd:
1.
- In kolom C de nul vervangen door: =VANDAAG()
- Dan celeigenschappen > Aangepast > Type: jjjj-mm-dd
- Kolom C selecteren en kopiëren
- Plakken speciaal (Waarden) in kolom D
- Kolom D selecteren en dan celeigenschappen > Aangepast > Type: jjjj-mm-dd
- Kolom C weggooien.
Stukje code in de macro:
2.
- In cel A1 deze formule zetten: =VANDAAG()
- In kolom B de nul vervangen door: = TEKST(A1;"jjjj-mm-dd")
Stukje code in de macro:
Beide pogingen werken als ik het handmatig doe, maar niet als je ze opneemt als macro. Nummer 1 geeft een #NAAM? als resultaat. En nummer 2 laat de nul staan (heeft volgens mij met de dubbele "" te maken, die in de macro staan).
Ik doen ongetwijfeld iets verkeerd, maar heeft iemand een idee hoe ik dit voor elkaar zou kunnen krijgen?
1.
- In kolom C de nul vervangen door: =VANDAAG()
- Dan celeigenschappen > Aangepast > Type: jjjj-mm-dd
- Kolom C selecteren en kopiëren
- Plakken speciaal (Waarden) in kolom D
- Kolom D selecteren en dan celeigenschappen > Aangepast > Type: jjjj-mm-dd
- Kolom C weggooien.
Stukje code in de macro:
Code:
Columns("C:C").Select
Selection.Replace What:="0", Replacement:="=VANDAAG()", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
Columns("D:D").Select
Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
Columns("C:C").Select
Selection.Cut
Columns("C:C").Select
Application.CutCopyMode = False
Selection.Copy
Columns("D:D").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Columns("C:C").Select
Application.CutCopyMode = False
Selection.Delete Shift:=xlToLeft
Columns("C:C").Select
Selection.NumberFormat = "yyyy/mm/dd"
2.
- In cel A1 deze formule zetten: =VANDAAG()
- In kolom B de nul vervangen door: = TEKST(A1;"jjjj-mm-dd")
Stukje code in de macro:
Code:
Columns("B:B").Select
Selection.Replace What:="0", Replacement:="= TEKST(A1;""jjjj-mm-dd"")", _
LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:= _
False, ReplaceFormat:=False
Beide pogingen werken als ik het handmatig doe, maar niet als je ze opneemt als macro. Nummer 1 geeft een #NAAM? als resultaat. En nummer 2 laat de nul staan (heeft volgens mij met de dubbele "" te maken, die in de macro staan).
Ik doen ongetwijfeld iets verkeerd, maar heeft iemand een idee hoe ik dit voor elkaar zou kunnen krijgen?