View Single Post
  #6   Report Post  
Posted to microsoft.public.excel.programming
Greg Wilson[_3_] Greg Wilson[_3_] is offline
external usenet poster
 
Posts: 35
Default 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




.