05. januar 2017 - 07:54Der 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
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.
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
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.
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?
Det virker nu, og det er helt perfekt, mange tak for hjælpen
Synes godt om
Ny brugerNybegynder
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.