+ Reply to Thread
Results 1 to 4 of 4

Conditional Printing

Hybrid View

  1. #1
    Forum Contributor
    Join Date
    07-12-2005
    Posts
    143

    Conditional Printing

    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

  2. #2
    Ron de Bruin
    Guest

    Re: Conditional Printing

    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


    --
    Regards Ron de Bruin
    http://www.rondebruin.nl


    "chris100" <[email protected]> wrote in message
    news:[email protected]...
    >
    > 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
    >
    >
    > --
    > chris100
    > ------------------------------------------------------------------------
    > chris100's Profile: http://www.excelforum.com/member.php...o&userid=25166
    > View this thread: http://www.excelforum.com/showthread...hreadid=511312
    >




  3. #3
    Forum Contributor
    Join Date
    07-12-2005
    Posts
    143
    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

  4. #4
    Ron de Bruin
    Guest

    Re: Conditional Printing

    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


    --
    Regards Ron de Bruin
    http://www.rondebruin.nl


    "chris100" <[email protected]> wrote in message
    news:[email protected]...
    >
    > 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
    >
    >
    > --
    > chris100
    > ------------------------------------------------------------------------
    > chris100's Profile: http://www.excelforum.com/member.php...o&userid=25166
    > View this thread: http://www.excelforum.com/showthread...hreadid=511312
    >




+ Reply to Thread

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts

Search Engine Friendly URLs by vBSEO 3.6.0 RC 1