24. april 2006 - 09:46Der er
10 kommentarer og 1 løsning
Udskriv flere sider
jeg anvender denne macro til udskrift i EXCEL: Sub Marker()
Dim rk Range(Range("a3").End(xlDown), Range("a1000 ").End(xlUp)).Select For Each rk In Selection If rk <> "" Then Range("a" & rk.Row, Range("h" & rk.Row)).Interior.ColorIndex = 6 '** ActiveSheet.PrintPreview Range("a" & rk.Row, Range("h" & rk.Row)).Interior.ColorIndex = xlNone '** End If Next
End Sub Macro makere linie 1 og udskriver siden, derefter linie 2 og udskriver. osv.
Mit problem er nu at listen er over 1 side. Men macroen skriver kun side et ud og forsætter med at skrive side 1 ud indtil bunden af listen er nået på side >1! Hvordan løses dette problem?
Range("a1:a56").Select For Each rk In Selection If rk <> "" Then Range("a" & rk.Row, Range("c" & rk.Row)).Interior.ColorIndex = 6 ActiveSheet.PrintOut 'PrintPreview ' PrintOut Range("a" & rk.Row, Range("c" & rk.Row)).Interior.ColorIndex = xlNone End If Next
Range(Range("a57").End(xlDown), Range("a65536").End(xlUp)).Select For Each rk In Selection If rk <> "" Then Range("a" & rk.Row, Range("c" & rk.Row)).Interior.ColorIndex = 6 ActiveSheet.PrintOut 'PrintPreview ' PrintOut Range("a" & rk.Row, Range("c" & rk.Row)).Interior.ColorIndex = xlNone End If Next
Range("a1:a56").Select For Each rk In Selection If rk <> "" Then Range("a" & rk.Row, Range("c" & rk.Row)).Interior.ColorIndex = 6 ActiveSheet.PrintPreview ' PrintOut Range("a" & rk.Row, Range("c" & rk.Row)).Interior.ColorIndex = xlNone End If Next
'Range(Range("a57").End(xlDown), Range("a65536").End(xlUp)).Select Range("a57:a112").Select For Each rk In Selection If rk <> "" Then Range("a" & rk.Row, Range("c" & rk.Row)).Interior.ColorIndex = 6 ActiveSheet.PrintPreview ' PrintOut Range("a" & rk.Row, Range("c" & rk.Row)).Interior.ColorIndex = xlNone End If Next
Hmm! Jeg får skrevet alle sider ud på engang! Jeg ønsker kun at skrive den side ud hvor der er en markering! Jeg har løst den med inspiration fra Excelent's løsning:
Sub Marker()
Dim rk
Range("a1:a10").Select For Each rk In Selection If rk <> "" Then Range("a" & rk.Row, Range("c" & rk.Row)).Interior.ColorIndex = 6 Worksheets("Ark1").PageSetup.PrintArea = "$A$1:$C$10" ActiveSheet.PrintPreview ' PrintOut Range("a" & rk.Row, Range("c" & rk.Row)).Interior.ColorIndex = xlNone End If Next
Range("a11:a14").Select Worksheets("Ark1").PageSetup.PrintArea = "$A$11:$C$25" For Each rk In Selection If rk <> "" Then Range("a" & rk.Row, Range("c" & rk.Row)).Interior.ColorIndex = 6 ActiveSheet.PrintPreview ' PrintOut Range("a" & rk.Row, Range("c" & rk.Row)).Interior.ColorIndex = xlNone End If Next
jeg kan lægge et svar, så kan du klikke på navnet og acceptere
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.