+ Reply to Thread
Results 1 to 6 of 6

Help needed to solve printing error

  1. #1
    Forum Contributor
    Join Date
    09-16-2004
    Posts
    100

    Help needed to solve printing error

    I have the following code set up to print varying numbers of excel workbooks, based on info from a master list, and it works fine, except for one thing. Whenever it comes across an item which requires 0 (zero) prints, it returns an error saying the number must be between 1 and 63212 (or something).

    Any ideas on how I can get the macro to skip items which don't require printing?

    Sub Printitem()

    Dim a As String
    Dim b As Integer
    Dim c As Integer


    'go down the list getting the name of the workbook and
    'the amount needed

    For b = 2 To Worksheets("Sheet1").Cells(65536, 1).End(xlUp).Row

    'a gets the name of the workbook
    a = Worksheets("Sheet1").Cells(b, 1).Value

    'c gets the number of prints needed
    c = Worksheets("Sheet1").Cells(b, 8).Value

    'print needed amount of workbook

    Workbooks.Open ThisWorkbook.Path & Application.PathSeparator & a & ".xls"
    ActiveSheet.PrintOut Copies:=c
    ActiveWorkbook.Close False

    'loop till end

    Next b

    End Sub

  2. #2
    Snake Plissken
    Guest

    Re: Help needed to solve printing error

    what about that:

    > 'c gets the number of prints needed
    > c = Worksheets("Sheet1").Cells(b, 8).Value
    >
    > 'print needed amount of workbook


    if c <> 0 then

    > Workbooks.Open ThisWorkbook.Path & Application.PathSeparator & a &
    > ".xls"
    > ActiveSheet.PrintOut Copies:=c
    > ActiveWorkbook.Close False


    else

    ActiveWorkbook.Close False

    end if

    >
    > 'loop till end
    >
    > Next b
    >
    > End Sub
    >
    >



  3. #3
    Forum Contributor
    Join Date
    09-16-2004
    Posts
    100
    Thanks for that, but unfortunately doesnt work. Using your amendments, if it hits a 0, it closes the master sheet.

    I amended it so that it opened the unneeded sheet and then closed it without printing, which worked, but took a long time (there's about 500 sheets to go through!)

    What I need it to do ideally is ignore any unneeded sheets and just open and print the ones I do need.

    Quote Originally Posted by Snake Plissken
    what about that:

    > 'c gets the number of prints needed
    > c = Worksheets("Sheet1").Cells(b, 8).Value
    >
    > 'print needed amount of workbook


    if c <> 0 then

    > Workbooks.Open ThisWorkbook.Path & Application.PathSeparator & a &
    > ".xls"
    > ActiveSheet.PrintOut Copies:=c
    > ActiveWorkbook.Close False


    else

    ActiveWorkbook.Close False

    end if

    >
    > 'loop till end
    >
    > Next b
    >
    > End Sub
    >
    >

  4. #4
    Snake Plissken
    Guest

    Re: Help needed to solve printing error

    >>
    >> > 'c gets the number of prints needed
    >> > c = Worksheets("Sheet1").Cells(b, 8).Value
    >> >
    >> > 'print needed amount of workbook

    >>
    >> if c <> 0 then
    >>
    >> > Workbooks.Open ThisWorkbook.Path & Application.PathSeparator & a &
    >> > ".xls"
    >> > ActiveSheet.PrintOut Copies:=c
    >> > ActiveWorkbook.Close False


    ' right - so it looks that <else> command and next line is not required...


    >> end if
    >>
    >> >
    >> > 'loop till end
    >> >
    >> > Next b
    >> >
    >> > End Sub
    >> >



  5. #5
    Dave Peterson
    Guest

    Re: Help needed to solve printing error

    Option Explicit
    Sub Printitem()

    Dim a As String
    Dim b As Long
    Dim c As Long

    'go down the list getting the name of the workbook and
    'the amount needed

    For b = 2 To Worksheets("Sheet1").Cells(65536, 1).End(xlUp).Row

    'a gets the name of the workbook
    a = Worksheets("Sheet1").Cells(b, 1).Value

    'c gets the number of prints needed
    c = Worksheets("Sheet1").Cells(b, 8).Value

    'print needed amount of workbook
    If c > 0 Then
    Workbooks.Open ThisWorkbook.Path _
    & Application.PathSeparator & a & ".xls"
    ActiveSheet.PrintOut Copies:=c
    ActiveWorkbook.Close False
    End If
    'loop till end
    Next b

    End Sub

    (Just making it easier to read.)


    madbloke wrote:
    >
    > I have the following code set up to print varying numbers of excel
    > workbooks, based on info from a master list, and it works fine, except
    > for one thing. Whenever it comes across an item which requires 0 (zero)
    > prints, it returns an error saying the number must be between 1 and
    > 63212 (or something).
    >
    > Any ideas on how I can get the macro to skip items which don't require
    > printing?
    >
    > Sub Printitem()
    >
    > Dim a As String
    > Dim b As Integer
    > Dim c As Integer
    >
    > 'go down the list getting the name of the workbook and
    > 'the amount needed
    >
    > For b = 2 To Worksheets("Sheet1").Cells(65536, 1).End(xlUp).Row
    >
    > 'a gets the name of the workbook
    > a = Worksheets("Sheet1").Cells(b, 1).Value
    >
    > 'c gets the number of prints needed
    > c = Worksheets("Sheet1").Cells(b, 8).Value
    >
    > 'print needed amount of workbook
    >
    > Workbooks.Open ThisWorkbook.Path & Application.PathSeparator & a &
    > ".xls"
    > ActiveSheet.PrintOut Copies:=c
    > ActiveWorkbook.Close False
    >
    > 'loop till end
    >
    > Next b
    >
    > End Sub
    >
    > --
    > madbloke
    > ------------------------------------------------------------------------
    > madbloke's Profile: http://www.excelforum.com/member.php...o&userid=14422
    > View this thread: http://www.excelforum.com/showthread...hreadid=393788


    --

    Dave Peterson

  6. #6
    Forum Contributor
    Join Date
    09-16-2004
    Posts
    100
    Spot on! Cheers.

    I'd fallen into the trap of assuming an IF needed an ELSE.

+ 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