Beste tweakerts,
Ik werk bij een bedrijf waarbij er nog in Excel gepland word. Opzich is dat niet erg, en werkt het behoorlijk goed. De afgelopen maanden heb ik daarbij wel wat handigheidjes ingebouwd dmv van VBA, daarbij is de planning (die eerst in 1 worksheet stond, naast elkaar) iets gewijzigd en staat iedere week nu in een los tabblad.
Nou heb ik een collega die vind dat hij het overzicht verloren is nu we de overstap gemaakt hebben. (Dit is volledig bullshit, maar dat terzijde). Hij wil graag een 'schuifplanning' waarbij hij als het ware van links naar rechts door de planning heen kan schuiven en iedere week voorbij ziet komen. (ipv op een tabblad een week verder klikken
)
Maargoed, hij kan er dusdanig niet aan wennen dat mij gevraagd is of ik dit zou kunnen realiseren. Nou kan ik met wat snippets en wat basic gepruts echt wel wat, maar hoe ik dit aan moet vliegen is mij eigenlijk een brug te ver. Ik zat te denken om door alle sheets heen te loopen en die vervolgens in 1 PDF te exporteren. Dan kan hij welis waar niet van links naar rechts schuiven, maar wel van boven naar beneden.
In principe lukt dit wel met een simpel stukje code. Onderstaand is te zien dat ik ook al zo slim was geweest om de index van het actieve blad, en de index van het laatste blad op te halen. Ik mis alleen even de stap hoe ik nou een stukkie schrijf waarbij ik een selectie maak van een aantal tabbladen. Als ik een loop doe met een .Select dan cycled hij alleen door de tabbladen heen, en dat wil ik nou juist niet. Ik wil de selectie maken zoals een ctrl + click op een tabblad.
Ik zou het dus ook graag op basis van ActiveWS en LastWS willen doen om het dynamisch te houden. Ook krijg ik de getallen reeks niet goed in een array en er weer uit om het op die manier op te lossen.
Wie kan deze n00b helpen!
Ik werk bij een bedrijf waarbij er nog in Excel gepland word. Opzich is dat niet erg, en werkt het behoorlijk goed. De afgelopen maanden heb ik daarbij wel wat handigheidjes ingebouwd dmv van VBA, daarbij is de planning (die eerst in 1 worksheet stond, naast elkaar) iets gewijzigd en staat iedere week nu in een los tabblad.
Nou heb ik een collega die vind dat hij het overzicht verloren is nu we de overstap gemaakt hebben. (Dit is volledig bullshit, maar dat terzijde). Hij wil graag een 'schuifplanning' waarbij hij als het ware van links naar rechts door de planning heen kan schuiven en iedere week voorbij ziet komen. (ipv op een tabblad een week verder klikken

Maargoed, hij kan er dusdanig niet aan wennen dat mij gevraagd is of ik dit zou kunnen realiseren. Nou kan ik met wat snippets en wat basic gepruts echt wel wat, maar hoe ik dit aan moet vliegen is mij eigenlijk een brug te ver. Ik zat te denken om door alle sheets heen te loopen en die vervolgens in 1 PDF te exporteren. Dan kan hij welis waar niet van links naar rechts schuiven, maar wel van boven naar beneden.
In principe lukt dit wel met een simpel stukje code. Onderstaand is te zien dat ik ook al zo slim was geweest om de index van het actieve blad, en de index van het laatste blad op te halen. Ik mis alleen even de stap hoe ik nou een stukkie schrijf waarbij ik een selectie maak van een aantal tabbladen. Als ik een loop doe met een .Select dan cycled hij alleen door de tabbladen heen, en dat wil ik nou juist niet. Ik wil de selectie maken zoals een ctrl + click op een tabblad.
Ik zou het dus ook graag op basis van ActiveWS en LastWS willen doen om het dynamisch te houden. Ook krijg ik de getallen reeks niet goed in een array en er weer uit om het op die manier op te lossen.
Wie kan deze n00b helpen!
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
| Public Sub Schuifplanning() With ActiveSheet.PageSetup .LeftMargin = Application.InchesToPoints(0) .RightMargin = Application.InchesToPoints(0) .TopMargin = Application.InchesToPoints(0) .BottomMargin = Application.InchesToPoints(0) .HeaderMargin = Application.InchesToPoints(0) .FooterMargin = Application.InchesToPoints(0) '.Orientation = xlLandscape .Orientation = xlPortrait '.PaperSize = ePaperSize.A3 .Zoom = False .FitToPagesWide = 1 .FitToPagesTall = 1 End With Dim ActiveWS As Integer ActiveWS = ActiveSheet.Index Dim LastWS As Integer LastWS = Worksheets(Worksheets.Count).Index Dim weekNumber As String weekNumber = Range("L4").Value Dim Path As String Path = Environ$("Userprofile") & "\Documents\Planning PDF\" Sheets(Array("Planning Week 9", "Planning Week 10", "Planning Week 11", "Planning Week 12", "Planning Week 13", "Planning Week 14", "Planning Week 15", "Planning Week 16")).Select ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, filename:=Path & "Schuifplanning.pdf", ignoreprintareas:=True, OpenAfterPublish:=True End Sub |