Avatar billede Butterfly Ekspert
05. januar 2017 - 07:54 Der er 8 kommentarer og
1 løsning

Print hvis sum >0

Godmorgen
Jeg har et regneark med mange ark (salg og lager). Og har en makro der kan printe nogle af arkene. Men kan jeg lave en makro hvor jeg kun printer de ark hvor summen >0
Avatar billede jkrons Professor
05. januar 2017 - 12:00 #1
Det kan du godt. Du kan benytte Before_print hændelsen

Private Sub Workbook_BeforePrint(Cancel As Boolean)
    With ActiveSheet
        Application.EnableEvents = False
        'Din kode før udskrift her
        ActiveWindow.SelectedSheets.PrintOut Copies:=1
        'Din kode efter udskrift her.
        Cancel = True
        Application.EnableEvents = True
    End With
End Sub

For at kunne lave det helt færdigt skal man vide, hvor summen står.
Avatar billede Butterfly Ekspert
05. januar 2017 - 13:06 #2
Summen står i M2
Avatar billede jkrons Professor
05. januar 2017 - 13:33 #3
I alle de ark, du skal printe?
Avatar billede Butterfly Ekspert
05. januar 2017 - 14:20 #4
Ja på alle de ark jeg skal printe
Avatar billede jkrons Professor
05. januar 2017 - 15:19 #5
Ser på det og vender tilbage.
Avatar billede excelent Ekspert
07. januar 2017 - 09:34 #6
Sub UdskrivAktiveSheet()
Dim ws As Worksheet, flag As Boolean
For Each ws In ThisWorkbook.Sheets
If IsNumeric(ws.Range("M2")) = True And ws.Range("M2") > 0 Then
    If flag Then
      ws.Select False
    Else
      ws.Select
      flag = True
    End If
End If
Next
ActiveWindow.SelectedSheets.PrintPreview
End Sub
Avatar billede jkrons Professor
08. januar 2017 - 11:09 #7
Eller

Private Sub Workbook_BeforePrint(Cancel As Boolean)
    Application.EnableEvents = False
    For Each sh In ActiveWorkbook.Sheets
        If sh.Range("c2").Value > 0 Then
            sh.Select
            ActiveWindow.SelectedSheets.PrintOut Copies:=1
        End If
    Next sh
    Cancel = True
    Application.EnableEvents = True
End Sub

Hvis det skal gælde for de indbyggede udskriv funktioner.
Avatar billede Butterfly Ekspert
10. januar 2017 - 10:10 #8
Det lykkes desværre ikke.
Jeg skal udskrive Ark1, hvis M2>0 (en sumformel).
Ark1 er et stort ark, hvor jeg har lavet noget makro der kan udskrive efter forskellige kriterier. Men når M2 = 0 skal siden ikke udskrives.
Skal jeg sætte ovenstående ind foran hver ny side jeg vil printe?
Hvis jeg bruger "Private Sub Workbook_BeforePrint(Cancel As Boolean)" og sætter den ind i "ThisWorkbook" så printer den slet ikke noget.(Jeg har rettet c2 til M2)
Hvad er det jeg gør forkert?
Avatar billede Butterfly Ekspert
23. januar 2017 - 12:37 #9
Det virker nu, og det er helt perfekt, mange tak for hjælpen
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