• 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 paar dagen opschuiven met Macro

Status
Niet open voor verdere reacties.

Bart1965

Gebruiker
Lid geworden
25 aug 2008
Berichten
41
Beste Excelers,

Ik heb een planschema gemaakt. deze wordt
gemaakt aan de hand van data die ik op een
ander blad invoer.

Nu kan het zijn dat de hele planning 3 dagen
opschuift. Ik wil eigelijk via een macro dan
zorgen dat alle data bijvoorbeeld plus 3
dag wordt gedaan.

Stel in een cel staat 3 oktober 2008.

Als de macro start dan dient er eest een
userform te openen die vraagt hoeveel dagen
de planning dient te worden opgeschoven

Als ik dan bijvoorbeeld 2 in vul dan dient de
cel 5 oktober 2008 weer te geven

Maar stel een actie is op vrijdag en ik schuif
de planning 2 dagen op dan komt de actie op
zondag. Dan moet de actie eigelijk op maandag
plaats vinden.

Gelukkig is het nu weekend dus hebben jullie
even wat te doen.

Nou wie mij helpt is mijn held.

Bart
 
Zoek uw heil in de functie: NETTO.WERKDAGEN.

Succes, Cobbe
 
Bart1965, Waarom maak je niet via een formule (zie óók post van Cobbe) al je datums afhankelijk van 1 cel waar je de datum kan aanpassen?

Groet, Leo
 
Gelukkig is het nu weekend dus hebben jullie
even wat te doen.

Je hebt als twee keer een responce gekregen maar jouw weekend is denk nog niet begonnen.

Ik wil je wel helpen maar dan moet je wel even wat duidelijker zijn.
Wat staat er in je data en wat wil je zien in je planschema.
Ikkan me daar heel veel bij voorstellen maar wat wil jij?

Een voorbeeldje helpt.

Wim
 
Voorbeeld

zoals gevraagd even een klein voorbeeld. Het originele bestand
is veel te groot om mee te sturen. Maar hier zie je wel de essentie
van mij vraag.

Bart
 

Bijlagen

Super wim alleen nog een vraagje

Het werkt geweldig Wim.
Alleen nu heb ik 80 data onder elkaar staan
Kun je nog even me helpen hoe ik al deze data in 1 keer
het aantal dagen verschuif

Bedankt vast

Bart
 
Wim, Zie geen verschil

Beste Wim.

Ik heb je bestandje geopend maar zie
geen verschil met het eerste. Zou je er
nog even naar kunnen kijken.

Ik heb dus 80 data onder elkaar die allemaal
dezelfde aantal dagen moeten opschuiven.

Hoor heel graag van je

Bij voorbaat dank

Bart
 
Bij het nalezen van deze topic komt er toch een vraag naar boven.... Je hebt het over het feit dat als de 'doorgeschoven dag' op een zondag valt, deze moet worden veranderd in maandag. Maar hoe zit het dan met zaterdag? Mag DIE wel meetellen (dus ben je dan wel aan't werk)?
Als je dus het complete weekend (za + zo) moet overslaan is de functie WORKDAY (werkdag) de eenvoudigste oplossing (in tegenstelling tot de eerder genoemde functie Networkdays (netto.werkdagen)). Hiermee heb je ook geen VBA nodig. De formule voor cel D4 wordt dan...
Code:
[English]	=WORKDAY(B4;C10)

[Dutch] 	=WERKDAG(B4;C10)
Je kan voor deze functie zelfs een lijstje aanleggen met vakantiedagen waarmee rekening wordt gehouden bij de berekening van de einddatum. Zie Excel-help voor verdere uitleg + voorbeeld.

Groet, Leo
 
Beste Leo

Je hebt gelijk. Stel mijn planning staat op donderdag en hij dient
2 dagen op te schuiven dan komt hij in princiepe op zaterdag.
Dit moet dan maandag wordt.

Zou hij 3 dagen opschijven dan komt hij op zondag en moet hij
eveneens naar maandag schuiven.

Maar de cel waar de datum in staat moet gewoon blijven zoals hij
is zonder een formule. Wim had me al aardig op weg geholpen alleen
gaat het om 80 data onder elkaar die allemaal veranderd moeten worden.

Ik heb een vakje aangemaakt waarin gevraagd wordt hoeveel dagen
de planning moet verschuiven. Door de knop in de drukken gaat
hij alle 80 data langslopen en verschuiven volgens de ingegeven hoeveel
heid dagen.

daarbij dus het bovenstaande verhaal van de zaterdag en de zondag.

Misschine een klein stukje achtergrond. Ik ben projectleider en maak
soms een enorme planning. Ik voer in een lijst de werkzaamheden in
de startdatum en de einddatum. Dit wordt omgezet naar een planschema.
Nou lomt het wel eens voor dat een heel project bijvoorbeeld een week
verschuift. Ik wil dan niet datum voor datum moeten veranderen maar in
1 keer ingeven hoeveel dagen de planning moet verschuiven en dan even
een druk op de knop.

Ben benieuwd of jullie me iets verder kunnen helpen maar ik ben door
Wim redelijk op weg geholpen. Nu nog even de herhaling van de macro

Bedankt vast.

Bart
 
Beste Wim.

Ik heb je bestandje geopend maar zie
geen verschil met het eerste. Zou je er
nog even naar kunnen kijken.

Ik heb dus 80 data onder elkaar die allemaal
dezelfde aantal dagen moeten opschuiven.

Hoor heel graag van je

Bij voorbaat dank

Bart

Denk dat ik het verkeerde bestand heb geupload.
Nieuwe poging

Wim
 

Bijlagen

Bart, Dan ga ik nu ff advocaat van de duivel spelen...:evil:
Stel dat een datum vrijdag 5 september is, en je project verschuift 6 dagen. Op welke datum kom je dan uit? Is dat maandag de 15e of donderdag de 11e???

Groet, Leo
 
Je hebt gelijk. Stel mijn planning staat op donderdag en hij dient
2 dagen op te schuiven dan komt hij in princiepe op zaterdag.
Dit moet dan maandag wordt.

........

Ben benieuwd of jullie me iets verder kunnen helpen maar ik ben door
Wim redelijk op weg geholpen. Nu nog even de herhaling van de macro

Bedankt vast.

Bart

Bart,

Nu ook met zaterdag en zondag

Succes

Wim
 

Bijlagen

beste Leo

Dan komt hij op de 15de

Stel je hebt de volgende planning
ma tot en met dinsdag - transport
woensdag tot en met vrijdag -installatie

Ik ga nu 2 dagen schuiven dan wordt het
woensdag tot en met donderdag - transport
vrijdag tot en met dinsdag- installatie

Eigelijk moet je geen weekend zien. De week bestaat
uit 5 werkdagen. In dit geval dan. In het echt
zou ik er niet zo blij mee zijn:)

Bart
 
Dan komt hij op de 15de
Dan is helaas het werk van Wim hiermee teniet gedaan! Die code kijkt namelijk alléén naar de uitkomst. En als die op een za of zo valt, wordt er doorgeschoven. De tussenlliggende weekends worden gewoon als dag meegeteld!

Groet, Leo

EDIT: Sorry wim!
 
Laatst bewerkt:
Dan is helaas het werk van Wim hiermee teniet gedaan! Die code kijkt namelijk alléén naar de uitkomst. En als die op een za of zo valt, wordt er doorgeschoven. De tussenlliggende weekends worden gewoon als dag meegeteld!

Groet, Leo

[EDIT]: Sorry wim!

Maakt niet uit. Ga mij code even aanpassen en kom snel terug.

Wim
 
Stop stop stop

Wim,

Je code kan wel want ik werk namelijk
met een begindatum en een einddatum
Dus als beide verschuiven dan is er niets
aan de hand

Ik probeer hem nu even te implementeren

Tot zo

Bart
 
Maakt niet uit. Ga mij code even aanpassen en kom snel terug.

Wim

Ik heb hem toch nog een beetje aangepast.
Kijk er maar even naar en laat me het weten

Code:
Sub Knop6_Klikken()
'
' Knop6_Klikken Macro
'
    lrij = Range("B4").End(xlDown).Row
    For a = 4 To lrij
        schuif = Weekday(Range("B" & a).Value) + Range("C10").Value
        Range("B" & a).Value = Range("B" & a).Value + Range("C10").Value
        
        If schuif > 6 Then
        ' Er heeft een weekend in de schuif periode gezeten
            Range("B" & a).Value = Range("B" & a).Value + 2
            ' De berekende datum kan nogsteeds een zaterdag of zondag zijn
            ' In mijn voorbeeld schuif ik ook van een zondag of zaterdag.
            Select Case Weekday(Range("B" & a).Value)
                Case 1
                    Range("B" & a).Value = Range("B" & a).Value + 1
                Case 7
                    Range("B" & a).Value = Range("B" & a).Value + 2
            End Select
        End If
    Next a
'
End Sub

Stel dat een datum vrijdag 5 september is, en je project verschuift 6 dagen. Op welke datum kom je dan uit? Is dat maandag de 15e of donderdag de 11e???

Ik kom alleen niet op de 15e uit maar nog net op de vrijdag daarvoor.

Wim
 
Beste Wim

Gelukkig is het slecht weer want ik zit de hele middag
al mijn hoofd te breken.

Je code brengt me een heel stuk op weg.

Maaaar.

Stel ik heb de vrijdag en we gaan de planning 4 dagen
verzetten. Dan houd de code er geen rekening mee dat
we over het weekend gaan want dat begint pas vanaf
6 dagen.

Je zou dus per werkdag even moeten kijken of je
over het weekend gaat met de te verschuiven dagen.

Nou ik ga even wat anders doen want heb inmiddels vierkante
ogen. maar ik weet zeker dat het kan en dat er een
oplossing is. Alleen is die nog even niet in zicht

Wel alvast bedankt voor je meedenken.

Bart
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan