Choose printout color or b/w using vba
Hi,
If you try recording a macro of changing the pagesetup to printing black
and white that gives you most of the syntax.
As it stands, your code was a bit repetitive -so I've trimmed it down a
little.
HTH,
Gareth
Function PrintWithColourCheck()
Dim i As Long
With ActiveSheet
'Hide rows where the first column is empty
'(that's what you're trying to do here right?)
For i = 4 To 33
If .Range("A" & i).Value = 0 Then _
.Rows(i).EntireRow.Hidden = True
Next i
.PageSetup.BlackAndWhite = _
MsgBox("Do you want to print in color?", _
vbYesNo, "Print out") = vbNo
.PrintOut Copies:=1, Collate:=True
'Tidy up
.PageSetup.BlackAndWhite = False
Rows("4:33").EntireRow.Hidden = False
End With
End Function
Jonsson wrote:
Hi
I want to be able to choose whether printout is to be in black and
white or color.
I'm using the code below, but dont know how to set the option to color
or b/w
Can someone lead me to the right track?
Function Print
Dim Svar As String
Dim i As Long
Svar = MsgBox("Do you want to print in color?", vbYesNo, "Print out")
If Svar = vbYes Then
ActiveSheet.Select
For i = 4 To 33
Rows(i).EntireRow.Hidden = Range("A" & i).Value = 0
Next i
ActiveSheet.Select
BlackAndWhite = False
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
ActiveSheet.Select
For i = 4 To 33
Rows(i).EntireRow.Hidden = False
Next i
Range("A1").Select
Else
If Svar = vbNo Then
ActiveSheet.Select
For i = 4 To 33
Rows(i).EntireRow.Hidden = Range("A" & i).Value = 0
Next i
ActiveSheet.Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
BlackAndWhite = True
ActiveSheet.Select
For i = 4 To 33
Rows(i).EntireRow.Hidden = False
Next i
Range("A1").Select
End If
End If
End Function
//Thomas
|