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

Totalen onderaan pagina

Status
Niet open voor verdere reacties.

paul zaal

Nieuwe gebruiker
Lid geworden
25 apr 2008
Berichten
2
Ik werk met lange lijsten met omzetgegevens. Bij afdrukken zijn er soms wel 8 of meer pagina's nodig om alle informatie weer te geven. Ik ben op zoek naar een mogelijkheid om automatisch onderaan elke pagina een paginatotaal te printen ("Te transporteren") en op de volgende pagina op de eerste rij dit totaal ("Transport") weer te geven.

Ik kan geen oplossing vinden. Iemand een idee ? Ik werk met Excel 2007.
 
Met VBA moet dat toch lukken:

Met een Before_print event -
Laat alvorens te printen de te printen regels tellen en voeg op regel bv32
een te transporteren subtotaal en
een datzelfde bedrag met de nodige tekst er vlak onder.

Een beetje tellen en het lukt vast.

Cobbe
 
Beste Cobbe,

Hartelijk dank voor de reactie.

Ik was hier al een beetje bang voor.......Ik kan aardig goochelen met Excel, maar dan zonder VBA. Ik zocht dus eigenlijk naar een oplossing binnen de eigen functionaliteit van Excel. Het mooiste zou zijn als je dit in de voettekst kwijt zou kunnen. Bovendien is de lijst niet statisch, maar wordt via SQL binnengehaald en kan van dag tot dag wijzigen (niet alleen aan het eind van de lijst, maar ook in de lijst).
 
Dat zeg ik... niet iedereen kan overweg met VBA. Het kan wel anders, maar dat heeft beperkingen.

Bepaal even het afdrukbereik van de pagina, en maak dan gewoon een formulecel onder- en bovenaan elke pagina met te transporteren totaal. Hoe handig dit is, is natuurlijk een beetje afhankelijk van hoe bewerkelijk dit soort acties zijn. Met 8 pagina’s gaat dat nog wel, met 80 wordt het al minder aantrekkelijk… dan is een VBA oplossing die waarden exporteert naar een kop- en voettext handiger.

Even optellen met VBA is niet zo moeilijk natuurlijk: optellen van A1..A39 en totaal in A40

Code:
Range("A1:A40").Select
    Range("A40").Activate
    ActiveCell.FormulaR1C1 = "=SUM(R[-10]C:R[-1]C)"
    Range("A1:A40").Select
Maar ik zou zo snel niet weten hoe je die waarde in een voet of koptekst moet krijgen…
 
Laatst bewerkt door een moderator:
Dat zeg ik... niet iedereen kan overweg met VBA. Het kan wel anders, maar dat heeft beperkingen.

Bepaal even het afdrukbereik van de pagina, en maak dan gewoon een formulecel onder- en bovenaan elke pagina met te transporteren totaal. Hoe handig dit is, is natuurlijk een beetje afhankelijk van hoe bewerkelijk dit soort acties zijn. Met 8 pagina’s gaat dat nog wel, met 80 wordt het al minder aantrekkelijk… dan is een VBA oplossing die waarden exporteert naar een kop- en voettext handiger.

Even optellen met VBA is niet zo moeilijk natuurlijk: optellen van A1..A39 en totaal in A40

Range("A1:A40").Select
Range("A40").Activate
ActiveCell.FormulaR1C1 = "=SUM(R[-10]C:R[-1]C)"
Range("A1:A40").Select


Maar ik zou zo snel niet weten hoe je die waarde in een voet of koptekst moet krijgen…

Iets korter én onderaan op het geprinte pagina.

ActiveSheet.PageSetup.CenterFooter = Application.WorksheetFunction.Sum(ActiveSheet.Range("A1:A39"))

Met vriendelijke groet,


Roncancio
 
..... getsie, is het zó gemakkelijk....?

Had net al zitten verzinnen dat je met

Code:
Private Sub Workbook_BeforePrint(Cancel As Boolean)
With ActiveSheet.PageSetup
        .LeftFooter = [A40]
       End With
End Sub

in ieder geval een waarde uit een cel kan halen die je in de voettekst zet. Weer iest geleerd :thumb:


Maarreeeh.... niet vergeten om er even een Workbook_BeforePrint opdracht van te maken dan natuurlijk (in het ThisWorkbook tabje). Ziet er dan zo uit:

Code:
Private Sub Workbook_BeforePrint(Cancel As Boolean)
With ActiveSheet.PageSetup
ActiveSheet.PageSetup.CenterFooter = Application.WorksheetFunction.Sum(ActiveSheet.Range("A1:A39"))
End With
End Sub
 
Laatst bewerkt door een moderator:
..... getsie, is het zó gemakkelijk....?

Had net al zitten verzinnen dat je met

Private Sub Workbook_BeforePrint(Cancel As Boolean)
With ActiveSheet.PageSetup
.LeftFooter = [A40]
End With
End Sub


in ieder geval een waarde uit een cel kan halen die je in de voettekst zet. Weer iest geleerd :thumb:

VBA is ook makkelijk.:D

Met vriendelijke groet,


Roncancio
 
Maarreeeh.... niet vergeten om er even een Workbook_BeforePrint opdracht van te maken dan natuurlijk (in het ThisWorkbook tabje). Ziet er dan zo uit:

Code:
Private Sub Workbook_BeforePrint(Cancel As Boolean)
[B]With ActiveSheet.PageSetup[/B]
ActiveSheet.PageSetup.CenterFooter = Application.WorksheetFunction.Sum(ActiveSheet.Range("A1:A39"))
[B]End With[/B]
End Sub

Die vetgedrukte regels zijn overbodig.

Met vriendelijke groet,


Roncancio
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan