LinkBack Thread Tools Search this Thread Display Modes
Prev Previous Post   Next Post Next
  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 2,824
Default Positioning Slips on a Page

How about this: You build one set of numbers (two rows), then let excel
autofill the rest?

I stuck the numbers in a nice contiguous range (easier to code and easier to
check (for me at least). Then I filled down a range.

Then I came back and inserted extra columns and extra rows. I added an extra
GroupsToMake variable. It seemed to work ok.

Sub numbers2()

Application.ScreenUpdating = False

Dim oRow As Long
Dim oCol As Long
Dim GroupsToMake As Long

Dim Firstnumber As Long
Dim LastNumber As Long


With Worksheets("Numbers")
.Cells.Clear
Firstnumber = 1
LastNumber = 36
GroupsToMake = 100

If (LastNumber - Firstnumber + 1) Mod 18 < 0 Then
MsgBox "error: Wrong set of numbers!"
Exit Sub
End If

.Range("a1").Resize(1, 3) _
= Array(Firstnumber, Firstnumber + 6, Firstnumber + 12)
For oCol = 4 To 18
.Cells(1, oCol).Value = .Cells(1, oCol - 3).Value + 1
Next oCol

For oCol = 1 To 18
.Cells(2, oCol).Value = .Cells(1, oCol).Value + 18
Next oCol

Range("a1:R2").AutoFill _
Destination:=Range("A1:R" & GroupsToMake * 2), Type:=xlFillSeries

For oCol = 18 To 2 Step -1
.Columns(oCol).Resize(, 3).Insert
Next oCol

For oRow = GroupsToMake * 2 To 2 Step -1
.Rows(oRow).Resize(9).Insert
Next oRow

End With

Application.ScreenUpdating = True
End Sub

Peter wrote:

Hi to the experts/developers

I have developed a routine to print slips, six to a (portrait) page (three
across and two down)
It works well. However when the pages are guillotined the slips need
sorting. When dealing wih a hundred or more the task is pretty onerous. I
wondered whether any one has had to deal with this problem before?

I would like to place them on the page so that when guillotined the slips
fall on top of each other in an easier-to-sort manner.

A partial extract from the routine:

Sub Numbers()
Dim myNumber As Integer
Dim Firstnumber As Integer
Dim LastNumber As Integer
Firstnumber = 1
LastNumber = 36
Sheets("Numbers").Select
Cells.Clear
For myNumber = Firstnumber To LastNumber
Cells(1 + (Abs(myNumber / 2 = myNumber \ 2)) * 10, 1 + (myNumber -
Firstnumber - _
(Abs(myNumber / 2 = myNumber \ 2))) * 2) = myNumber
Next myNumber
End Sub

This then lays them out as follows:
1 3 5 7 9 11 13 15 17

2 4 6 8 10 12 14 16 18

What I am looking for is something like:

1 7 13 2 8 14 3 9 15

19 25 31 20 26 32 21 27 33

Continuing to the right of the above
4 10 16 5 11 17 6 12 18

22 28 34 23 29 35 24 30 36
Etc

The maximum will be about 180 slips so they can go across the top but wouldn
't matter going down either.

Has anybody developed the maths to position the slips as above to facilitate
their guillotining?

Thanks
Peter Bircher
SA


--

Dave Peterson

 
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Routing slips in Excel 2007 GibsonMan Excel Discussion (Misc queries) 0 August 5th 08 09:47 PM
pay slips michael Excel Worksheet Functions 3 May 11th 08 02:25 PM
Packing Slips jamiks Excel Discussion (Misc queries) 2 November 2nd 07 09:13 PM
Routing Slips marcus Excel Discussion (Misc queries) 0 November 9th 06 06:54 PM
Routing Slips marcus Excel Discussion (Misc queries) 2 November 7th 06 03:26 AM


All times are GMT +1. The time now is 10:03 AM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Copyright ©2004-2025 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"