Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

[Excel] macro ophogen waarde bij meerdere prints

Pagina: 1
Acties:

  • Jeebeekje
  • Registratie: Oktober 2006
  • Laatst online: 26-11 14:01
Ik heb een Excel formulier waarin een veld voorkomt dat na elke printopdracht opgehoogd moet worden met 1. Dit is ook de enige waarde in het document die veranderd.
Daarvoor heb ik de volgende code gebruikt:

Visual Basic .NET:
1
2
3
Private Sub Workbook_BeforePrint(Cancel As Boolean)
Sheets("Blad1").Range("m8") = Sheets("Blad1").Range("m8") + 1
End Sub


Deze code heeft echter als nadeel dat als in het afdrukscherm wordt aangegeven dat het document bijvoorbeeld 3 keer moet worden afgedrukt het nummer niet wordt opgehoogd voor elke print. Dat gebeurt alleen als de print opdracht wordt gegeven via het menu, de taakbalk of door Ctrl+P te gebruiken.
Aangezien er soms wel 25 formulieren per keer moeten worden afgedrukt is het niet te doen om zo vaak op Ctrl+P te drukken.

Ik kan nergens een oplossing voor dit probleem vinden, ik heb niet zo heel veel kennis van VBA.

Heeft er iemand een oplossing?

  • Jeebeekje
  • Registratie: Oktober 2006
  • Laatst online: 26-11 14:01
Oh shit,
kan een modje de titel veranderen in "[EXCEL] macro ophogen waarde bij meerdere prints"

sorry :+

  • Sosabowski
  • Registratie: Juni 2003
  • Laatst online: 25-11 20:40

Sosabowski

nerd

Jeebeekje schreef op woensdag 24 juni 2009 @ 14:33:
Oh shit,
kan een modje de titel veranderen in "[EXCEL] macro ophogen waarde bij meerdere prints"

sorry :+
klik even op Afbeeldingslocatie: http://tweakimg.net/g/forum/images/icons/icon_hand.gif bovenaan en vraag het daar vriendelijk. Een modje zal het dan voor je aanpassen.

The whole problem with the world is that fools and fanatics are always so certain of themselves, and wiser people so full of doubts. -- Bertrand Russell


  • Jeebeekje
  • Registratie: Oktober 2006
  • Laatst online: 26-11 14:01
IorGie schreef op woensdag 24 juni 2009 @ 14:43:
[...]

klik even op [afbeelding] bovenaan en vraag het daar vriendelijk. Een modje zal het dan voor je aanpassen.
thnx!

  • pedorus
  • Registratie: Januari 2008
  • Niet online
Tsja, als je meerdere kopietjes print, dan is het normaal gesproken zo dat allen hetzelfde zijn. Bij de printsituatie die ik zelf heb kun je trouwens ook op de printer het aantal kopietjes instellen, en dat valt al helemaal niet na te gaan met Excel.
Wat je kan doen is alle printjes via het menu cancellen in beforeprint, en zelf een printfunctie maken die gewoon een for-loopje doet voor het aantal kopieën. Iets als (compleet ongetest):
Visual Basic:
1
2
3
4
5
6
7
8
9
10
Private Sub Workbook_BeforePrint(Cancel As Boolean) 
    numberOfCopies = InputBox("Hoeveel kopietjes?", "Printen", 1)
    For i = 1 to numberOfCopies
        Sheets("Blad1").Range("m8") = Sheets("Blad1").Range("m8") + 1
        Application.EnableEvents = False 
        ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True 
        Application.EnableEvents = True
    Next
    Cancel = True  
End Sub 
offtopic:
En dan nog lachen ook ;)

Vitamine D tekorten in Nederland | Dodelijk coronaforum gesloten


  • F_J_K
  • Registratie: Juni 2001
  • Niet online

F_J_K

Moderator CSA/PB

Front verplichte underscores

Done@titel. Zie pedorus in "[Excel] macro ophogen waarde bij meerder..." voor de oplossing. Overigens zou ik niet printen overloaden, maar een printknop ergens neerzetten in een eigen sub. En dan in feite alles behalve de cancel=true daaronder zetten :P
(Application.EnableEvents kan je dan ook weglaten, als je geen beforeprint etc gebruikt).

'Multiple exclamation marks,' he went on, shaking his head, 'are a sure sign of a diseased mind' (Terry Pratchett, Eric)


  • Jeebeekje
  • Registratie: Oktober 2006
  • Laatst online: 26-11 14:01
Bedankt, het werkt inderdaad goed zo.
Ik zie wel dat het niet de meest ideale manier van werken is, maar goed zo werkt het wel.
Pagina: 1