• 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 van vandaag, ook in de toekomst weergeven.

Status
Niet open voor verdere reacties.

loukskywalker

Gebruiker
Lid geworden
6 feb 2014
Berichten
124
Hallo,

Voor een formulier ben ik opzoek naar een code om de datum van vandaag weertegeven,
Ik weet dat dit =today() is.

Maar als ik hem dan b.v. morgen open. staat er de datum van morgen. En niet van de dag van aanmaken!
Ik zou graag zien dat de datum pas aangepast wordt na opslaan, en niet na openen!
Bij voorkeur dat na de eerste x opslaan de datum van vandaag word weergeven. En bij de volgende keren opslaan, alsnog de datum van de dag van aanmaak blijft staan! :shocked:

Bekijk bijlage TestForm.xls
 
Laatst bewerkt:
Je wilt dus een veld met een formule ontdoen van de formule en het resultaat van die formule gebruiken als waarde voor dat veld. Dat kan met de volgende code in de ThisWorkbook sectie:
Code:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
    [A1].Value = [A1]
End Sub
 
Edmoor,

Dat is precies wat ik zoek, echter snap ik de code niet.
Ik zal één van de bestanden toevoegen, zou jij de code dan zo kunnen schrijven dat hij past in dat bestand!
Waarschijnlijk ben ik daarna wel in staat de code te "ontcijferen" :rolleyes:

Het gaat zich om de datum, in de roodgekleurde cel!

Bekijk bijlage 211471
 
Laatst bewerkt:
Er valt niks te ontcijferen. Je hoeft alleen maar [A1] te wijzigen in de cel waar het in je document op moet gaan werken. Zie bijlage.

Bekijk bijlage TestForm.xls

Nu moet de gebruiker nog steeds de formule intikken bij een nieuwe proef.
Handiger is het volgens mij als je met de code achter de knop voor het maken van een nieuwe proef meteen die cel van de juiste datum voorziet met: [G2] = Date
Of bij het opslaan van het blad controleren of de cel gevuld is en zoniet, dan vullen met de datum van vandaag.
 
Laatst bewerkt:
Code:
Sub bladleegmaken()
'
' bladleegmaken Macro
' De macro is opgenomen op 10-6-2010 door rotteimk.
'

'
    Range("A8:L15").Select
    Selection.ClearContents
    Range("D7:L7").Select
    Selection.ClearContents
    Range("D16:D17").Select
    Selection.ClearContents
    Range("G16:G17").Select
    Selection.ClearContents
    Range("F16").Select
    Selection.ClearContents
    Range("I16:L16").Select
    Selection.ClearContents
    Range("I17").Select
    Selection.ClearContents
    Range("L17").Select
    Selection.ClearContents
    Range("D18").Select
    Selection.ClearContents
    ActiveCell.FormulaR1C1 = "ja / nee"
    Range("D22").Select
    Selection.ClearContents
    Range("F22").Select
    Selection.ClearContents
    Range("G22").Select
    Selection.ClearContents
    Range("I22:J22").Select
    Selection.ClearContents
    Range("L22").Select
    Selection.ClearContents
    Range("D23").Select
    Selection.ClearContents
    ActiveCell.FormulaR1C1 = "ja / nee"
    Range("A24:L27").Select
    Selection.ClearContents
    Range("A19:L21").Select
    Selection.ClearContents
    Range("A31:L32").Select
    Selection.ClearContents
    Range("D28:D29").Select
    Selection.ClearContents
    Range("F28:F29").Select
    Selection.ClearContents
    Range("G29").Select
    Selection.ClearContents
    Range("I28:I29").Select
    Selection.ClearContents
    Range("J29").Select
    Selection.ClearContents
    Range("I29").Select
    Selection.ClearContents
    ActiveCell.FormulaR1C1 = "ja / nee"
    Range("F29").Select
    Selection.ClearContents
    ActiveCell.FormulaR1C1 = "ja / nee"
    Range("L28:L29").Select
    Selection.ClearContents
    Range("D30").Select
    Selection.ClearContents
    ActiveCell.FormulaR1C1 = "ja / nee"
    Range("D33:D34").Select
    Selection.ClearContents
    Range("F33:G34").Select
    Selection.ClearContents
    Range("I33:L33").Select
    Selection.ClearContents
    Range("J34:J35").Select
    Selection.ClearContents
    Range("I34:I35").Select
    Selection.ClearContents
    Range("D35").Select
    Selection.ClearContents
    ActiveCell.FormulaR1C1 = "ja / nee"
    Range("A36:L39").Select
    Selection.ClearContents
    ActiveWindow.SmallScroll Down:=12
    Range("D40").Select
    Selection.ClearContents
    Range("F40:G40").Select
    Selection.ClearContents
    Range("I40:L40").Select
    Selection.ClearContents
    Range("D42").Select
    Selection.ClearContents
    ActiveCell.FormulaR1C1 = "ja / nee"
    Range("A43:L49").Select
    Selection.ClearContents
    Range("D50").Select
    Selection.ClearContents
    Range("F50").Select
    Selection.ClearContents
    Range("I50:L50").Select
    Selection.ClearContents
    Range("C51:L54").Select
    Selection.ClearContents
    Range("A53:B54").Select
    Selection.ClearContents
    Range("I55").Select
    Selection.ClearContents
    ActiveCell.FormulaR1C1 = "ja / nee"
    Range("L55").Select
    Selection.ClearContents
    Range("C41:L41").Select
    Selection.Font.ColorIndex = 15
    Selection.Font.Underline = xlUnderlineStyleSingle
    Selection.Font.Bold = True
    Selection.Font.Bold = False
    Selection.Font.Underline = xlUnderlineStyleNone
    ActiveWindow.SmallScroll Down:=-27
    Range("E6:L6").Select
    Selection.Font.Bold = True
    Selection.Font.Underline = xlUnderlineStyleSingle
    Selection.Font.Underline = xlUnderlineStyleNone
    Selection.Font.Bold = False
    Selection.Font.ColorIndex = 15
    Range("H5:L5").Select
    Selection.Font.ColorIndex = 15
    Selection.Font.Underline = xlUnderlineStyleSingle
    Selection.Font.Bold = True
    Selection.Font.Bold = False
    Selection.Font.Underline = xlUnderlineStyleNone
    Range("I2:I3").Select
    Selection.ClearContents
    Range("G2").Select
    Selection.ClearContents
    Range("G3").Select
    Selection.ClearContents
    Range("C34").Select
    Selection.ClearContents
    Range("G5").Select
    Selection.ClearContents
[B]    Range("G2").Select
    MyDate = Date[/B]
    
End Sub

Vetgedrukt heb ik zelf ingevuld,

G2 is de cell waar datum vandaag moet komen te staan!
al diverse dingen geprobeert, maar krijg de datum invullen achter de knop niet werkend!
 
Waarom die je het anders dan ik aangaf als voorbeeld in die code?
Je hoeft alleen maar dit toe te voegen: [G2] = Date

Dus niet de twee regels die je er zelf van hebt gemaakt.
 
Laatst bewerkt:
't Is vast simpeler dan je had verwacht ;)
 
Nu nog een extra vraag,

Als ik knop blad leeg veeg gebruik kan dan ook het (op)volgnummer steeds met +1 toenemen?
Want elke keer als ik het blad leeg veeg, komt er een nieuw versie nummer!
 
Dat zal best kunnen maar moet je wel even aangeven in je voorbeelddocument wat je bedoeld met (op)volgnummer en versie nummer.
 
Wanneer je op blad leegmaken klikt telt hij steeds +1 in cell I2, dit om zo in het archief te kunnen kijken welk proefformulier de meest recente is. Er kunnen soms best wel eens 2 of meerdere formulieren per dag uitgegeven worden, en dan is enkel een datum niet voldoende!
 
Dat kun je dan ook gewoon in die "leegveeg" routine opnemen.
 
Je code is erg onhandig opgebouwd, met al die Select op ranges. Nergens voor nodig, en zoals snb je kan vertellen, iets dat je zoveel mogelijk moet vermijden. Daarnaast verbaas ik me hogelijk over dit soort constructies:
Code:
    Selection.Font.Bold = True
    Selection.Font.Bold = False
Wat denk je daar mee te bereiken? Je zet Vet aan, en gelijk weer uit. Wat denk je dat het eindresultaat is?
Maar je code kan dus een stuk korter en netter.
Code:
    Sub BladLeegmaken()
    
    Range("A8:L15").ClearContents
    Range("D7:L7").ClearContents
    Range("D16:D17").ClearContents
    Range("G16:G17").ClearContents
    Range("F16").ClearContents
    Range("I16:L16").ClearContents
    Range("I17").ClearContents
    Range("L17").ClearContents
    With Range("D18")
        .ClearContents
        .FormulaR1C1 = "ja / nee"
    End With
    Range("D22").ClearContents
    Range("F22").ClearContents
    Range("G22").ClearContents
    Range("I22:J22").ClearContents
    Range("L22").ClearContents
    With Range("D23")
        .ClearContents
        .FormulaR1C1 = "ja / nee"
    End With
    Range("A24:L27").ClearContents
    Range("A19:L21").ClearContents
    Range("A31:L32").ClearContents
    Range("D28:D29").ClearContents
    Range("F28:F29").ClearContents
    Range("G29").ClearContents
    Range("I28:I29").ClearContents
    Range("J29").ClearContents
    With Range("I29")
        .ClearContents
        .FormulaR1C1 = "ja / nee"
    End With
    With Range("F29")
        .ClearContents
        .FormulaR1C1 = "ja / nee"
    End With
    Range("L28:L29").ClearContents
    With Range("D30")
        .ClearContents
        .FormulaR1C1 = "ja / nee"
    End With
    Range("D33:D34").ClearContents
    Range("F33:G34").ClearContents
    Range("I33:L33").ClearContents
    Range("J34:J35").ClearContents
    Range("I34:I35").ClearContents
    With Range("D35")
        .ClearContents
        .FormulaR1C1 = "ja / nee"
    End With
    Range("A36:L39").ClearContents
''    ActiveWindow.SmallScroll Down:=12
    Range("D40").ClearContents
    Range("F40:G40").ClearContents
    Range("I40:L40").ClearContents
    With Range("D42")
        .ClearContents
        .FormulaR1C1 = "ja / nee"
    End With
    Range("A43:L49").ClearContents
    Range("D50").ClearContents
    Range("F50").ClearContents
    Range("I50:L50").ClearContents
    Range("C51:L54").ClearContents
    Range("A53:B54").ClearContents
    With Range("I55")
        .ClearContents
        .FormulaR1C1 = "ja / nee"
    End With
    Range("L55").ClearContents
    With Range("C41:L41").Font
        .ColorIndex = 15
        .Underline = xlUnderlineStyleSingle
        .Bold = False
        .Underline = xlUnderlineStyleNone
    End With
    ''ActiveWindow.SmallScroll Down:=-27
    With Range("E6:L6").Font
        .Bold = True
        .Underline = xlUnderlineStyleNone
        .Bold = False
        .ColorIndex = 15
    End With
    With Range("H5:L5").Font
        .ColorIndex = 15
        .Bold = False
        .Underline = xlUnderlineStyleNone
    End With
    Range("I3:I3").ClearContents
    Range("G2").ClearContents
    Range("G3").ClearContents
    Range("C34").ClearContents
    Range("G5").ClearContents
    [I2].Value = [I2] + 1
    [G2] = Date
End Sub
In I2 staat volgens mij het nummer dat je wilt verhogen, maar dat kan natuurlijk net zo goed ergens anders staan. Die cel moet je dan natuurlijk niet leeg maken, anders krijg je alsnog steeds de waarde 1.
 
Hieruit maak ik op dat het al ergens gebeurt. Diezelfde code kun je dus gebruiken.

Maandag ochtend, ik formuleer het verkeerd, zou zou ik het graag willen, dit gebeurt nog niet :evil: Mijn fout!

@ Michel,

Waarom vet aan en uit gaat is mij i.d.d. ook onduidelijk.
Een oud collega heeft deze constuctie gemaakt. En ik mag dit nu allemaal verbeteren/aanpassen.
Met [I2].Value = [I2] + 1 ben ik geholpen. I.d.d. goed dat je zegt dat ik dan het leegmaken van de cel I2 wel even moet verwijderen, anders blijft hij natuurlijk altijd op 1 staan :)

Hartelijk dank allen voor de input!
 
Laatst bewerkt:
Ok, daar kun je dan dit voor gebruiken:
[i2]=[i2]+1
 
Nog een beetje vroeg, ed? De formule staat er al lang in :)
 
Tijdens het posten stond dat er nog niet. TS heeft z'n post aangepast terwijl ik de mijne plaatste.
Nog een beetje vroeg dat je niet naar de tijden kijkt? ;)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan