Ga naar inhoud

Afdruk huidige pagina in excel


Mayo

Aanbevolen berichten

Gebruik onderstaande macro i.p.v. de vorige, je moet dan geen paginanr. meer invullen.

Ook deze macro leg je best vast onder een knop die je, om vaak scrollen te voorkomen, best plaatst in de 'werkbalk snelle toegang'.

Sub Macro1()
Dim acc As Integer, acr As Integer, ar As Integer, pnr As Integer
On Error GoTo Fout
ar = 47
acr = ActiveCell.Row: acc = ActiveCell.Column
If acc > 11 Then Exit Sub
pnr = 1 + Int(acr / ar)
If acr / ar = Int(acr / ar) Then
pnr = pnr - 1
End If
ActiveSheet.PrintOut From:=pnr, To:=pnr
Fout:
End Sub

Link naar reactie
Delen op andere sites

Ik heb de macro geïnstalleerd, getest en gekoppeld aan een sneltoets.  Dit is wat ik nodig had, het werkt perfect.  Als ik het goed begrijp geldt deze macro enkel voor dit document omdat het gebaseerd is op een gelijk aantal rijen en kolommen.  Klopt dit? 

Deze namiddag start ons eetfestijn, dat wordt dus de vuurproef.  Alleszins nogmaals bedankt voor de hulp.

Link naar reactie
Delen op andere sites

De pagina-overgangen zijn ingesteld op 47 rijen, wil je de pagina's langer of korter maken, dan moet je in de macro alleen maar dat getal aanpassen. Je kunt die macro in elk Excelbestand gebruiken. Er is wel een manier om Excel de pagina-overgangen automatisch te laten berekenen, zonder dat je een getal opgeeft, maar het duurt wel langer (en is ingewikkelder) om dat te programmeren. Nu begin ik daar niet aan.

Het maakt niet zo veel uit, maar in plaats van een sneltoets is een opdrachtknop in de 'werkbalk snelle toegang' handiger en sneller om te gebruiken (zoals ik in mijn vorig bericht schreef).

Link naar reactie
Delen op andere sites

Ervan uitgaande dat er alleen horizontale pagina-einden zijn, kun je onderstaande macro gebruiken.

Het aantal rijen moet je niet instellen en dat aantal rijen hoeft per pagina ook niet even groot te zijn.

Sub macro1()
Dim pb As HPageBreak, pnr As Integer
On Error GoTo einde
pnr = 1
For Each pb In ActiveSheet.HPageBreaks
If pb.Location.Row > ActiveCell.Row Then
Exit For
End If
pnr = pnr + 1
Next pb
ActiveSheet.PrintOut From:=pnr, To:=pnr
einde:
End Sub

 

Link naar reactie
Delen op andere sites

Hallo,

Dat werkt fantastisch, echt wat ik eigenlijk al jaren nodig had, dit gaat in de toekomst vlot werken zijn in excel.  De vorige macro heeft trouwens tijdens ons eetfestijn feilloos gewerkt.  Van harte bedankt voor de moeite en tips en graag tot wederdienst bereid.

Marc.

Link naar reactie
Delen op andere sites

Gast
Dit topic is nu gesloten voor nieuwe reacties.
×
×
  • Nieuwe aanmaken...

Belangrijke informatie

We hebben cookies geplaatst op je toestel om deze website voor jou beter te kunnen maken. Je kunt de cookie instellingen aanpassen, anders gaan we er van uit dat het goed is om verder te gaan.