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

Oplopende datum in verschillende tabbladen

Status
Niet open voor verdere reacties.

tinovanommen

Gebruiker
Lid geworden
30 apr 2004
Berichten
83
Goedemorgen,

Nu was er al een mooi topic met bovenstaande titel als titel.

Ik zag daar dat "edmoor" een ideale oplossing had geboden, waar ik erg blij mee ben. Deze opties automatiseren zijn fantastisch.

Ik wil nog 1 verzoek indienen;

En misschien omdat niet iedereen nu gaat terugkijken in het vorige topic, zal ik nog in het kort herhalen wat de bedoeling is.

Allereerst was dit de vraag (aug 2016);

Hallo allen,

Ik heb een werkblad per maand gemaakt met daarin 31 tabbladen voor elke dag.

Hoe krijg ik hier op bijv. tabblad 1 maandag 1-8-2016 te staan en automatisch opvolgend tot het 31e tabblad woensdag 31-8-2016.

Ik heb de datum in cel A1 staan.

Hoor 't graag en alvast bedankt voor de hulp


Senior member "edmoor" had hierop een link opgegeven die perfect inhaakte op de vraag.

Het enige verschil dat ik hier maak, is dat ik de weekenden niet nodig heb, ik ga ervan uit dat (als ik die knap in elkaar gezette formules zie) dit ook in een formule te zetten is.

Zou iemand die formule zodanig willen aanpassen, dat de zaterdagen en zondagen niet meegenomen worden?

Ik zou het bijzonder op prijs stellen.

Alvast bedankt,

Tino
 
Je zou de link ernaar toe kunnen plaatsen.
 
Ik heb het al gevonden Jan!
 
Is dit elke maand weer anders?

Februari is de kortste maand.
Dan de weekenden er nog af.
Welke naam moeten de andere bladen dan krijgen?
 
Die code is inderdaad aan te passen. als alleen de weekenden weggelaten moeten worden en de code verder niet anders hoeft dan is het kwestie van de datum ophogingen aan te passen

Code:
Sub CommandButton1_Click()
    Dim Sjabloon As Worksheet
    Dim Datum As Date
    Dim Maand As String
    
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    For Each sh In ThisWorkbook.Sheets
        If sh.Name <> "Sjabloon" And sh.Name <> "Voorblad" Then sh.Delete
    Next sh
    Application.DisplayAlerts = True

    Datum = Sheets("Voorblad").Range("A1")
    Datum = Datum + IIf(Weekday(Datum, vbMonday) = 6, 2, 0) + IIf(Weekday(Datum, vbMonday) = 7, 1, 0)
    Maand = Format(Datum, "MMM")
    Set Sjabloon = ThisWorkbook.Worksheets("Sjabloon")
    While Format(Datum, "MMM") = Maand
        Sjabloon.Copy after:=Worksheets(Worksheets.Count)
        ActiveSheet.Name = Format(Datum, "dddd dd-mm-yyyy")
        ActiveSheet.Range("A1") = ActiveSheet.Name
        Datum = Datum + 1 [COLOR="#FF0000"]+ IIf(Weekday(Datum) = 6, 2, 0) + IIf(Weekday(Datum) = 7, 1, 0)[/COLOR]
    Wend
    
    Sheets("Voorblad").Activate
    Application.ScreenUpdating = True
End Sub


de twee rode regels zijn de aanpassingen
na vullen van Datum variabele met de waarde in cel A1 wordt die datum getest op weekdag zaterdag of zondag
als de datum in A1 op zaterdag of zondag valt worden er dagen bijgeteld om op eerstvolgende maandag te komen.

in de laatste regel van while-wend loop wordt de eerstvolgende datum bepaald en ook daar worden extradagen bijgeteld als het om een zat of zon gaat.
 
Met iets minder code.
Code:
Sub CommandButton1_Click()
  Dim j As Long, d As Long
  Application.ScreenUpdating = False
  Application.DisplayAlerts = False
  For Each sh In Sheets
    If InStr("sjvo", LCase(Left(sh.Name, 2))) = 0 Then sh.Delete
  Next sh
  
  d = Sheets("Voorblad").Range("A1")
  For j = d To Application.EDate(d, 1) - 1
    If Weekday(j, 2) < 6 Then
      Sheets("Sjabloon").Copy , Sheets(Sheets.Count)
      ActiveSheet.Name = Format(j, "dddd dd-mm-yyyy")
      ActiveSheet.Range("A1") = ActiveSheet.Name
    End If
  Next j
  Sheets("Voorblad").Activate
End Sub
 
Allereerst wil ik jullie het beste wensen voor 2020.

Hartelijk dank voor het meedenken, ik moet me nu gaan verdiepen in de manier om deze formule in te voeren in Excel. Dat is iets wat ik nog nooit gedaan heb, maar ik vind het wel interessant om daar naar te kijken.

Kan iemand me op weg helpen? Is er op het forum of op een microsoft site een duidelijke uitleg hoe ik dit doe? Heet dit formules of heet dit programmeren, codes of iets dergelijks?

Alvast bedankt.

Tino
 
Zoals je merkt zijn de weekenden bij mij altijd druk bezet. :(

Ik heb net een en ander uit geprobeerd, maar ik kom helaas niet verder.

Met het bestand uit https://www.helpmij.nl/forum/showthr...ende+tabbladen

had ik dus een mooie optie voor elke dag van de week.

Volgens mij moet ik dus op alt F11 drukken, voordat ik de optie 'bladen maken' heb aangeklikt.

Dan krijg ik de bestaande code te zien.

Die heb ik verwijderd en allebei de codes van jullie geprobeerd, maar dan krijg ik 'fout 9 tijdens uitvoering' ' het subscript valt buiten het bereik'.

Bij foutopsporing komt dan de regel 'Set Sjabloon = ThisWorkbook.Worksheets("Sjabloon")' aan het licht.

Ik neem aan dat ik iets vout doe? en dat jullie het geprobeerd hebben?

groeten,

Tino
 

Bijlagen

  • voorbeeld dagboek.png
    voorbeeld dagboek.png
    120,5 KB · Weergaven: 50
Mooi plaatje. Er blijkt iig uit dat je niets met de aangedragen suggesties gedaan hebt. Prettig weekend.:d
 
Lees #12 nog eens goed
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan