Excel: formule vervangen door uitkomst

Status
Niet open voor verdere reacties.

Lomyth

Nieuwe gebruiker
Lid geworden
7 jan 2020
Berichten
4
Ik ben bezig met een Excel bestand waarin reserveringen van artikelen worden vastgelegd.

Een versimpelde versie zit in de bijlage.

In cel A1 staat de formule VANDAAG

Door het ingeven van een artikelnummer wordt hierop een reservering geplaatst van standaard 14 dagen na de invoerdatum (veld A1)
Deze staat in veld D4 in het voorbeeld en wordt berekend nu met de formule VANDAAG+14

Als ik het bestand morgen open schuift deze berekende datum een dag op omdat de datum in A1 (vandaag) ook veranderd.

Een oplossing met een kolom erbij met de invoerdatum is mijn laatste redmiddel, liever heb ik dat dit vanzelf wordt berekend en dat de waarde in kolom D4 niet meer veranderd zodra de waarde in veld A1 veranderd.
Hopelijk kan iemand mij hiermee helpen.
 

Bijlagen

  • Test datum vasthouden.xlsx
    9,9 KB · Weergaven: 28
Ik had ooit exact hetzelfde probleem als jij. Toen opgelost met een macro die ik hier heb gevonden:

Code:
Private Sub Workbook_Open()
If Sheets("Blad1").Range("A1") = "" Then
    Sheets("Blad1").Range("A1") = Date
End If
End Sub

deze macro kijkt wat er in cel A1 staat, is deze leeg wordt de datum van vandaag als harde waarde geplakt.
Staat er wel een datum dan wordt deze alsnog als harde waarde geplakt
 
Hi Globe,

Dank voor je reactie.

Ik kom er echter niet uit met jouw macro.

Wellicht ben ik niet duidelijk genoeg geweest in mijn uitleg.
Er worden dagelijks 10 tallen reserveringsregels toegevoegd aan dit bestand waarbij in kolom D per regel de uiterste datum komt waarop de reservering verloopt.
Nu gebeurt dat door in kolom A een datum in te vullen die in kolom D met 14 dagen wordt opgehoogd met een formule (=Ax+14)
Echter deze handmatige invoer is extra werk die ik wil besparen en daarnaast fout gevoelig.

Mijn vraag is of het mogelijk is om per regel zodra er een artikel nummer wordt ingevoerd in een veld ik kolom A er in dezelfde regel in kolom D een datum komt die 14 dagen verder ligt dan de invoerdatum (is gelijk aan vandaag)

Gr.
Lomyth
 
Je zit een beetje in de verkeerde sectie van dit forum. Vraag even aan de mod om de vraag te verplaatsen naar het Excel of VBA gedeelte dan krijg je wat meer reacties. Als je een tabel hebt met de artikelcodes en de omschrijving en de prijzen dan is het invoeren van de artikelcode voldoen om de rest van de gegevens erbij te zoeken. (Niet uitgewerkt in het voorbeeldje)

Met een tabel en een Change event
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
  If Not Intersect(Target, ListObjects(1).DataBodyRange.Columns(1)) Is Nothing And Target.Count = 1 Then Target.Offset(, 3) = Date + 14
End Sub
 

Bijlagen

  • Test datum vasthouden.xlsb
    15 KB · Weergaven: 27
Hallo VenA,

Super bedankt voor je advies. Ik zal dit doen.

Met jouw code kom ik er niet uit, helaas. IN jouw voorbeeld werkt het prima, maar zodra ik deze code kopieer naar het originele bestand krijg ik een foutmelding.
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan