Avatar billede dane022 Seniormester
21. august 2007 - 08:16 Der er 8 kommentarer og
1 løsning

Vba udskrift af 2 ark sker i 2 prinjob

Jeg har følgende kode i mit regneark:

Private Sub Workbook_beforePrint(cancel As Boolean)
If Sheets("blanket").Range("b12").Value = 0 Then
        Sheets("blanket").PrintOut Copies:=1, Collate:=True
        Sheets("kontonumre").PrintOut Copies:=1, Collate:=True
End If

Når jeg skriver ud, bliver de 2 ark udskrevet i hvert sit printjob, side for side. Kan man gøre sådan at begge sider udskrives i samme printjob?
Avatar billede jeppson Nybegynder
21. august 2007 - 08:23 #1
Du kan foretage en selection af de to sheets og foretage en print af selection
Avatar billede word-hajen Nybegynder
21. august 2007 - 08:58 #2
Sheets(Array("blanket", "kontonumre")).Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1
Avatar billede gider_ikke_mere Nybegynder
21. august 2007 - 09:00 #3
A la Sheets(Array("kontonumre", "blanket")).Select
Selection.PrintOut Copies:=1, Collate:=True
Avatar billede dane022 Seniormester
21. august 2007 - 09:11 #4
Svar nr 1 virkede, ved svar nr 2 fik jeg at vide siderne var blanke

Når jeg udskriver får jeg først udskrevet de 2 sidder korrekt og bagefter kommer den side man står på når man trykker udskriv, hvilket gør at én af siderne kommer ud 2 gange. Hvordan forhindrer man det?
Avatar billede word-hajen Nybegynder
21. august 2007 - 13:52 #5
Mon ikke, at det er eventet Workbook_beforePrint, der driller? Placér din kode i en "almindelig" procedure og se, om det ikke klarer tricket.
Avatar billede dane022 Seniormester
22. august 2007 - 07:21 #6
Det kan jeg ikke se vil gøre en forskel. Excel vil jo udskrive den side brugeren vælger udskriv på, men det er det jeg skal have annulleret, så der kun kommer de 2 sider jeg har valgt.
Avatar billede word-hajen Nybegynder
22. august 2007 - 09:00 #7
Præcis. Men da du ikke overtager printkommandoen, men blot tilføjer noget, inden der bliver printet, så printer den først de 2 sider, som du beder den om og så den side, som brugeren rent faktisk har bedt om (det er i hvertfald min teori - du må selv afprøve det).
Avatar billede dane022 Seniormester
27. august 2007 - 10:14 #8
Det blev løst ved at bruge følgende kode:

Private Sub Workbook_beforePrint(Cancel As Boolean)
If Sheets("blanket").Range("b12").Value > 0 Then
        Cancel = True
        Application.EnableEvents = False
        Sheets("blanket").Range("A1:I48").PrintOut copies:=1, collate:=True
        Application.EnableEvents = True
End If
End Sub

Hvis kriteriet ikke er opfyldt printes der normalt, hvis kriteriet er opfyldt printes kun udvalgte range. Det blev ikke nødvendigt alligevel at printe 2 ark.
Akyhne vil du smide et svar så får du point?
Avatar billede gider_ikke_mere Nybegynder
27. august 2007 - 12:25 #9
Ok.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Excel kurser for alle niveauer og behov – find det kursus, der passer til dig

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester