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

van datum - tot datum

Status
Niet open voor verdere reacties.

KJ85

Nieuwe gebruiker
Lid geworden
17 jul 2020
Berichten
3
Wie zou mij kunnen helpen met het volgende aub:

Ik heb een excel tabel met projecten in die lopen van een datum tot een datum.
Er bestaat dus een kolom genaamd "van datum" en een kolom "tot datum" met nog extra kolommen achter.

Nu wil ik dat Excel volgens het aantal werkdagen, gelijk aantal rijen aanmaakt met telkens de gegevens in van de oorspronkelijke rij:

Bijvoorbeeld:
Van datum : 01/07/2020 (kolom A)
Tot datum : 03/07/2020 (kolom B)
= aantal werkdagen 3 (03/07 hoort er nog bij)

Dus zou ik drie rijen willen genereren nl. werkdag 01/07, 02/07 en 03/07 met telkens de gegevens achter van de oorspronkelijke rij.

Is dit wat duidelijk? En is dit haalbaar?

Alvast bedankt voor tips en mij verder op weg te helpen.

Mvg,

Kevin
 
Kijk eens naar de functie DATUMVERSCHIL
 
Post eens een voorbeeldje, want we snappen je niet helemaal. Ik krijg de indruk dat je 3 nieuwe rijen wilt creëren op basis van het aantal dagen dat je berekent. Maar gaat het om het pure aantal dagen, of alleen werkdagen? Zo ja, wat zijn dan die werkdagen? Is het altijd een vast aantal dagen? Ik vind het maar een beetje vaag zo. Met =NETTO.WERKDAGEN(D8;D9) kun je in ieder geval makkelijk het aantal werkdagen bepalen.
 
Heel onduidelijk en maak dan een voorbeeldbestand schoon en met gewenst resultaat.
"Rijen genereren", "met telkens de gegevens achter van de oorspronkelijke rij... Dat is niet duidelijk. Overigens kun je een datum gewoon doortrekken (automatisch doorvoeren).
 
Is vrij eenvoudig met een macro op te lossen. Wel even aanpassen in jouw niet geplaatste bestand.
 

Bijlagen

  • Datums_Spltsen.xlsb
    16,7 KB · Weergaven: 54
Mooie oplossing!
 
Allen,

dank jullie voor de snelle reactie. Mijn excuses voor de onduidelijkheid. Is ook de eerste keer dat ik zelf een vraag stel op dit forum.
Maar het had inderdaad veel gemakkelijker geweest voor jullie als ik ineens een Excel bestand had toegevoegd.

VenA dit is exact wat ik zocht, maar kwam er zelf niet uit. Ik was het veel te ver aan het zoeken.

Mvg,

Kevin
 
@VenA: ik heb jouw macro goed kunnen integreren in mijn bestand en dit werkt perfect naar hetgeen ik zocht.

Nu zou ik dit iets uitgebreider willen gebruiken:

Ik heb een voorbeeldbestand toegevoegd, waarbij in tabblad "Blad1" de gegevens staan die uitgelezen dienen te worden.
Dit zou zich dan zoals voordien moeten splitsen in een nieuw tabblad "totaal" volgens de dagen (excl. weekends) zoals in de macro van VenA.

Hierbij zou dan een nieuwe kolom weeknummer bijkomen.
Bij overgang naar een nieuwe dag zou een extra lege rij komen en bij overgang naar een nieuwe week 2 lege rijen.

Nadien worden in de extra tabbladen "personeel" en "leveranciers" de nodige gegevens uitgelezen vanuit het tabblad "totaal".

Ik ben dus op zoek naar een uibreiding van VenA zijn macro, met toevoeging van de weeknummer en de extra lege rijen die een onderscheid maken tussen een nieuwe dag en een nieuwe week.
De macro mag ook weer gegenereerd worden door een knop, zoals het voorbeeld van VenA bierboven.

Alvast bedankt voor jullie tijd en moeite.

Mvg,

Kevin

Bekijk bijlage planning voorbeeld.xlsx
 
In een .xlsx staat geen macro. Hoe moet het eruitzien als de datum van 01-07-2020 t/m 03-07-2010 loop? Welke weeknummer methodiek gebruik je? 1-7-2020 is week 33? Een beetje zorg aan een voorbeeld bestand mag je wel geven dat scheelt onnodig zoekwerk waarom bepaalde zaken wel zouden moeten werken maar het toch niet doen door foute input.

Tenzij het de definitieve opmaak is is het een slechte gewoonte om met lege cellen en rijen te werken. Je kan niet meer sorteren, filteren wordt een stuk lastiger, eventuele vervolgformules worden onnodig complex etc.

Verder is het alleen een kwestie van de code aanpassen en het resultaat op een ander blad neerzetten.
Code:
Sub VenA()
  ReDim ar1(6, 0) 'beetje groter gemaakt
  ar = Sheets("Blad1").ListObjects(1).DataBodyRange
  For j = 1 To UBound(ar)
    For jj = 0 To ar(j, 2) - ar(j, 1)
      If Weekday(ar(j, 1) + jj, 2) < 6 Then
        ar1(0, t) = DatePart("ww", ar(j, 1) + jj, 2, 2) 'extra element
        ar1(1, t) = Format(ar(j, 1) + jj, "mm-dd-yyyy")
        ar1(2, t) = ar(j, 3)
        ar1(3, t) = ar(j, 4) 'extra element
        ar1(4, t) = ar(j, 5) 'extra element
        ar1(5, t) = ar(j, 6) 'extra element
        ar1(6, t) = ar(j, 7) 'extra element
        t = t + 1
        ReDim Preserve ar1(6, t)
      End If
    Next jj
  Next j
      
  With Sheets("Totaal").ListObjects(1) 'resultaat op ander blad
    If .ListRows.Count Then .DataBodyRange.Delete
    .ListRows.Add.Range.Resize(t, 7) = Application.Transpose(ar1)
    .Range.Sort .ListColumns(2), , .ListColumns(3), , , , , xlYes
  End With
End Sub
 

Bijlagen

  • planning voorbeeld (1).xlsb
    23,1 KB · Weergaven: 37
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan