Beste allemaal,
Heb weer een probleem waar ik niet uit kan komen en waar ik me al zo'n 12 uur over aan het frustreren ben.
Ik genereer meterkastlijsten vanuit een data-export in Excel. De lijsten zelf maken, vullen en opmaken lukt allemaal makkelijk.
Maar deze meterkastlijsten moeten ook afgedrukt worden. Hiervoor stel ik een afdrukbereik in met onderstaande code. Dit gaat ook goed.
Vervolgens wil ik zorgen dat de kolommen per woning (3 kolommen), samen met de titel-kolom (B:B) op 1 pagina komen. Hier loop ik helemaal vast... Harde pagina-eindes lukt de ene keer wel, maar dan staan er automatische doorheen. Wijzig ik mijn code dan staan er bijvoorbeeld weer helemaal geen pagina-eindes in. Denk ik nog iets aan te passen dan heeft ie de kolom-indeling weer verkeerd.
Ik begin een beetje moedeloos te worden, dus kan wel wat hulp gebruiken...
Het betreffende deel van de code:
Alles gebeurd zonder screenupdating, dus de activate e.d. zijn niet zichtbaar.
Ik heb geprobeerd:
Heb weer een probleem waar ik niet uit kan komen en waar ik me al zo'n 12 uur over aan het frustreren ben.
Ik genereer meterkastlijsten vanuit een data-export in Excel. De lijsten zelf maken, vullen en opmaken lukt allemaal makkelijk.
Maar deze meterkastlijsten moeten ook afgedrukt worden. Hiervoor stel ik een afdrukbereik in met onderstaande code. Dit gaat ook goed.
Vervolgens wil ik zorgen dat de kolommen per woning (3 kolommen), samen met de titel-kolom (B:B) op 1 pagina komen. Hier loop ik helemaal vast... Harde pagina-eindes lukt de ene keer wel, maar dan staan er automatische doorheen. Wijzig ik mijn code dan staan er bijvoorbeeld weer helemaal geen pagina-eindes in. Denk ik nog iets aan te passen dan heeft ie de kolom-indeling weer verkeerd.
Ik begin een beetje moedeloos te worden, dus kan wel wat hulp gebruiken...
Het betreffende deel van de code:
Code:
' Filters en afdrukbereik
ThisWorkbook.Sheets("Meterkastlijst").Range("2:2").AutoFilter
ThisWorkbook.Sheets("Meterkastlijst").Activate
ActiveWindow.View = xlPageBreakPreview
With ThisWorkbook.Sheets("Meterkastlijst").PageSetup
.PrintArea = "$C$3:" & Cells(ThisWorkbook.Sheets("Meterkastlijst").UsedRange.Rows.Count, ThisWorkbook.Sheets("Meterkastlijst").UsedRange.Columns.Count).Address
.PrintTitleRows = "$1:$2"
.PrintTitleColumns = "$B:$B"
.Zoom = 80
' .FitToPagesWide = (WorksheetFunction.CountA(ThisWorkbook.Sheets("Meterkastlijst").UsedRange.Rows(1).Value) - 2) / 3
.FitToPagesTall = False
.FitToPagesWide = False
End With
For pb = 3 To ThisWorkbook.Sheets("Meterkastlijst").UsedRange.Columns.Count Step 3
ThisWorkbook.Sheets("Meterkastlijst").VPageBreaks.Add Before:=ActiveSheet.Columns(pb)
Next pb
ActiveWindow.View = xlNormalView
Ik heb geprobeerd:
- Zoom op False
- FitToPagesWide met aantalpaginas/woningen (zie code)
- Pagebreaks verwijderen en weer opnieuw plaatsen
- Nog 101 andere mogelijkheden die ik me ondertussen niet meer kan herinneren...