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

Tabblad weeknummer automatisch zichtbaar maken

Status
Niet open voor verdere reacties.

als ik dit er van maak, krijg ik alleen de laatste zichtbaar:
Code:
   For Each sh In ThisWorkbook.Worksheets
      sh.Visible = sh.Name = Application.WorksheetFunction.WeekNum(Date, 21)   'ISO-week (vanaf excel2013)
      sh.Visible = sh.Name = Application.WorksheetFunction.WeekNum(Date - 7, 21) 'ISO-week (vanaf excel2013)
      
      
   Next

End Sub
 
Code:
For Each sh In ThisWorkbook.Worksheets
      sh.Visible = (sh.Name = Application.WorksheetFunction.WeekNum(Date, 21)) or (sh.Visible = sh.Name = Application.WorksheetFunction.WeekNum(Date - 7, 21)) 
      
   Next
 
Waarom niet?
Code:
sh.Visible = sh.Name = datepart("ww", date, 2, 2) 'iedere versie
 
super dit werkt..

Wat ben ik blij.. het werkt en ik leer veel van jullie... dank je..

Nu heb ik een macro toegevoegd die een sheet verstuurd. Ik krijg echter alleen de active sheet verzonden in de macro..

ik wil graag de sheet van de vorige week versturen..
#(Sh.Name = Application.WorksheetFunction.WeekNum(Date - 7, 21))# die ik nu zo benoem als tabblad zichtbaar te maken. Dat is tabblad "15" in dit geval.

hoe maak ik de naam dus afhankelijk van de datum?

Nu stuur ik:
#ActiveSheet.Copy#

maar wil sturen:
Sheets("Sheet5").Copy --> waarbij de naam "sheet5" afhankelijk is van de datum
 
Laatst bewerkt:
@cow18

Worksheetfunction is overbadig en geeft bij diverse Excelfunkties problemen.

Code:
For Each sh In ThisWorkbook.sheets
  sh.Visible = (sh.Name = Application.WeekNum(Date, 21)) or (sh.Name = Application.WeekNum(Date, 21)-1)) 
Next
alternatief:

Code:
For Each sh In ThisWorkbook.sheets
  sh.Visible = sh.Name = [weeknum(today(),21)] 
Next
 
@SNB, mooie oplossing, ik moet die vierkante haakjes wat vaker gebruiken, kort en krachtig.
Daardoor wordt het antwoord op TS, los uit de pols, zonder te checken
Code:
sheets(cstr([weeknum(today()-7,21)])).copy
 
Laatst bewerkt:
Perfect... thanx

deze was de juiste om vorige week te verzenden:
Code:
Sheets(CStr([weeknum(today(),21)] - 1)).Copy
 
met jouw versie ga je tijdens de 1e week van het nieuwe jaar verkeerd, dan verwijs je namelijk naar week 0 als vorige week.
In mijn geval naar week 52 (of 53).
 
met jouw versie ga je tijdens de 1e week van het nieuwe jaar verkeerd, dan verwijs je namelijk naar week 0 als vorige week.
In mijn geval naar week 52 (of 53).

bij invoer van jouw code werd de huidige week verstuurd.. dus tabblad week 16.. (of ik heb een typefout gemaakt) test nog een keer...
 
today()-7 is vorige week donderdag, het ISO-weeknummer daarvan is vorige week, toch ...
 
@cow18

Daar lijkt me geen speld tussen te krijgen.
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan