Conditional Printing

C

chris100

Hi all,

Just a quick one. When rng.value is greater than 0, it prints page one.
However, when rng1.value is greater than 0, it doesn't print page 2 or
3.

Sorry about the poor explanation - but the dog really needs a walk....



Public Sub Tester002()

Dim rng As Range
Dim rng1 As Range


Set rng = ActiveWorkbook.Sheets("STATEMENTS").Range("N46")
Set rng1 = ActiveWorkbook.Sheets("STATEMENTS").Range("A52")


If rng.Value > 0 Then
ActiveWindow.SelectedSheets.PrintOut From:=1, To:=1, Copies:=1, Collate
_
:=True
ElseIf rng = 0 Then
Exit Sub
If rng1.Value > 0 Then
ActiveWindow.SelectedSheets.PrintOut From:=2, To:=2, Copies:=1, Collate
_
:=True

Else
ActiveWindow.SelectedSheets.PrintOut From:=3, To:=3, Copies:=1, Collate
_
:=True

End If
End If
End Sub
 
R

Ron de Bruin

Hi

Do you ojnly want to print the rng.value page ??
Then use this

If rng.Value > 0 Then
ActiveWindow.SelectedSheets.PrintOut From:=rng.Value, To:=rng.Value, Copies:=1
End If
 
C

chris100

Not quite Ron, I'll explain properly now that i have more time:

The worksheet "statements" has three pages.
Page one is always printed if "N46" is greater than zero.
Page two prints if "A52" is greater than zero.
Page 3 always prints if "N46" is greater than zero.

What you can see happening here is that page 1 is printed if the
customer has an outstanding balance, then page two prints if there is
more to the statement history. Page three is a Statement summary and
prints if there is something to print i.e when the first page prints.
Obviously they have to print in that order.

Phew! Hope i explained that a bit better.

Thanks for helping,

Chris
 
R

Ron de Bruin

Try this

Public Sub Tester002()

Dim rng As Range
Dim rng1 As Range

Set rng = ActiveWorkbook.Sheets("STATEMENTS").Range("N46")
Set rng1 = ActiveWorkbook.Sheets("STATEMENTS").Range("A52")

If rng.Value > 0 Then
ActiveWindow.SelectedSheets.PrintOut From:=1, To:=1, Copies:=1, Collate:=True
End If

If rng1.Value > 0 Then
ActiveWindow.SelectedSheets.PrintOut From:=2, To:=2, Copies:=1, Collate:=True
End If

If rng.Value > 0 Then
ActiveWindow.SelectedSheets.PrintOut From:=3, To:=3, Copies:=1, Collate:=True
End If

End Sub
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top