Positioning Slips on a Page
Peter,
For what it's worth, I conducted a trial as follows:
1) I named a sheet "Slips" and another "Numbers".
2) I created 36 representative slips on Sheet("Slips")
using Excel's Autofil feature. To do this I typed the
following text (representing a slip) into Cell A1 through
Cell A6:
Slip 1
Name: Bob James
Salary: 38,400
Title: Mining Engineer
Employee Number: V4090
Division: Mining
3) I selected the typed text including an extra row; i.e.
Cells A1 to A7 were selected.
4) I dragged the
Sub GuillotineSetup()
Dim i As Integer, ii As Integer
Dim iii As Integer, X As Integer
Dim Resp As Integer
Application.ScreenUpdating = False
'***** Transfer slips and arrange *****
With Sheets("Numbers")
.Cells.Clear
.Columns.ColumnWidth = 25
End With
For i = 1 To 8 Step 7
For ii = 0 To 2
For iii = 1 To 21 Step 4
Sheets("Slips").Cells(X * 7 + 1,
1).CurrentRegion.Copy
With Sheets("Numbers")
.Paste .Cells(i, ii + iii)
End With
X = X + 1
Next iii
Next ii
Next i
Application.ScreenUpdating = True
'***** Print slips *****
Resp = MsgBox("Print sheets?", vbQuestion +
vbYesNo, "Guillotine Setup")
If Resp = 7 Then Exit Sub
With Sheets("Numbers")
.PrintOut From:=1, To:=5
End With
End Sub
-----Original Message-----
Thanks Greg
I will have a good look at your sugestion.
However I am not sure if it will do the job.
The problem is that I already have the numbered slips
which print as set out below.
The first two pages will print as shown, each number
represents the individuals' slip
A whole lot of data relavant to each person is printed
under their number.
(Best to show the next bit in Courier 10pt)
============ ============
| 1 3 5 | | 7 9 11 |
| | | |
| 2 4 6 | | 8 10 12 |
| | | |
============ ============
Below is the intended printout (in sets of 36)
============ ============
| 1 7 13 | | 2 8 14 |
| | | |
| 19 25 31 | | 20 26 32 |
| | | |
============ ============
When guillotining (6 pages at a time), slip 1 would fall
on slip 2 etc solving the problem of sorting all the slips.
Peter
Greg Wilson wrote in message
...
Is this what you're looking for?
Sub Numbers()
Dim i As Integer, ii As Integer
Dim iii As Integer, X As Integer
Cells.Clear
For i = 1 To 6 Step 5
For ii = 0 To 10 Step 5
For iii = 1 To 76 Step 15
X = X + 1
Cells(i, ii + iii) = X
Next iii
Next ii
Next i
End Sub
Regards,
Greg
-----Original Message-----
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
.
|