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

Formule VANDAAG vastzetten

BOUKES

Gebruiker
Lid geworden
15 jun 2016
Berichten
170
Is er een aanpassing aan mijn formule mogelijk die de functie VANDAAG de volgende dag niet verandert.
Ik heb een groot bestand met veel bladen ( kolommen en rijen)
Ik weet ik kan copy/ paste waarde of handmatig invoeren doen maar ik wil eigenlijk alleen nog maar de EAN code scannen en dat alles verder automatisch gaat. Liever ook geen VBA maar door aanpassing formule.
De gele cellen zijn gisteren gevuld en zijn vandaag uiteraard veranderd naar VANDAAG
Kan dit? Bedankt vast Djurre
 

Bijlagen

Probeer deze eens.
Code:
=IF([@[EAN code]]="";"";TEXT(TODAY();"dd/mm/jjjj"))
 
@Warme bakkertje
Datum komt er goed in, maar staat deze morgen niet op 22-1-2026????
Even de datum op de pc 1 dag verder gezet en de datum verandert dan wel :-(
 
Laatst bewerkt:
Zonder VBA gaat dit niet lukken OF je moet de datum handmatig invoeren met CTRL+;
 
Gemini komt hiermee
Instelling heb ik aangepast maar in mijn bestand werkt t niet????


Om een datum automatisch vast te zetten zodra je iets in een andere kolom typt, zijn er twee populaire manieren. De eerste is met een "slimme formule" (zonder VBA), de tweede is met een kort script (VBA).

Methode 1: De "Slimme Formule" (Zonder VBA)​

Normaal gesproken verandert de datum elke dag, maar met een kringverwijzing kun je Excel dwingen de waarde te behouden.

Stap 1: Instellingen aanpassen Om dit te laten werken, moet je eerst één instelling in Excel aanzetten:

  1. Ga naar Bestand > Opties.
  2. Klik op Formules.
  3. Vink het vakje aan bij Iteratieve berekening inschakelen.
  4. Zet "Maximum aantal iteraties" op 1.
  5. Klik op OK.
Stap 2: De formule invoeren Stel dat je in kolom A een naam typt en in kolom B automatisch de vaste datum wilt zien. Zet deze formule in cel B2:

=ALS(D2<>;""; ALS(A2<>;""; A2; VANDAAG()); "")

Hoe dit werkt:

  • Als A2 leeg is, blijft de datum cel ook leeg.
  • Zodra je iets in A2 typt, kijkt de formule naar zichzelf (B2).
  • Als B2 al een datum heeft, laat hij die staan (hij overschrijft hem niet).
  • Als B2 nog leeg is, vult hij VANDAAG() in en zet dit direct vast.
 
Achter het werkblad:
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    Application.EnableEvents = False
    Cells(Target.Row, 1) = IIf(Target.Column = 4 And Target <> "", Date, "")
    Application.EnableEvents = True
End Sub
 
Hier ook nog een instructievideo hoe het werkt met een formule-optie (optie iteratie moet aan staan bij berekeningsopties). (NB: IFS = ALS.VOORWAARDEN)

Om deze inhoud te bekijken, hebben we jouw toestemming nodig om cookies van derden te gebruiken.
Voor meer gedetailleerde informatie, zie onze cookiespagina.
 
Moet de formule blijven staan in kolom A met de VBA code?
IK heb 2 werkbladen waarin het moet werken.
Dus als kolom 5 gevuld is moet de datum van vandaag in kolom 1 komen te staan.
Deze moet dan NIET morgen weer wijzigen!!
 

Bijlagen

Om te vermijden dat je een foutmelding krijgt als je meerdere cellen wist in kolom E.
Code:
Private Sub Worksheet_Change1(ByVal Target As Range)
    If (Target.Column = 5) * (Target.CountLarge = 1) Then
        Application.EnableEvents = False
        If Target <> vbNullString Then Target.Offset(, -4).Value = Date
        Application.EnableEvents = True
    End If
End Sub
Code:
Bericht automatisch samengevoegd:

Probeer het met deze.
 

Bijlagen

Laatst bewerkt:
De formule in kolom A kan weg.
Met dit in de ThisWorkbook module bepaal je op welke werkbladen het actief is:
Code:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
    Select Case Sh.Name
        Case "Inkoop", "Verkoop"
            If Target.Column = 5 Then
                Application.EnableEvents = False
                Cells(Target.Row, 1) = IIf(Target <> "", Date, "")
                Application.EnableEvents = True
            End If
        End Select
End Sub
 
Laatst bewerkt:
@edmoor
Zie mijn opmerking in Post#9 betreffende meerdere cellen selecteren.

@BOUKES
Werkt perfect op beide werkbladen.
 
Werkt prima in het document dat je in #14 plaatste.
Wellicht dat Application.EnableEvents bij jou nog op False staat.
Doe dit eens in het Direct venster en test het daarna nog eens:
Code:
Application.EnableEvents = True
 
CTRL-G in de VBA editor.
 
Er is wel wat veranderd.
Application.EnableEvents is nu True.
Dat betekent dat Events (Gebeurtenissen) weer worden uitgevoerd.
 
Laatst bewerkt:
Terug
Bovenaan Onderaan