View Single Post
  #12   Report Post  
Posted to microsoft.public.excel.programming
Max Bialystock Max Bialystock is offline
external usenet poster
 
Posts: 19
Default complex looping problem

Hi Bob,
Sorry to trouble you again.

Run like as amended below it works perfectly.

If the array is expanded to include 5 6 7 8 whatever happens to sheet 8
happens to each sheet.

What I need to happen is that the data in row 4 of sheet 1 winds up in sheet
4 and the data in row 5 of sheet 1 in sheet 5 and so on.

If you've had enough of this now, I'll understand.

With many thanks for your help so far,
Regards,
Max
-----------

Option Explicit

Sub test()
Worksheets(1).Activate
Dim sh As Worksheet
For Each sh In Worksheets(Array("4"))
Weeks 4, sh
'Weeks 5, sh
'Weeks 6, sh
'Weeks 7, sh
'Weeks 8, sh
Next sh
End Sub
Sub Weeks(x As Long, sh As Worksheet)
Dim r As Long 'this points to the worksheet row
Dim c As Long 'this points to the array column, not the worksheet column
Dim SheetValues As Variant

With sh
SheetValues = Range(Cells(x, 2), Cells(x, 8)).Resize(1, 7).Value
WeekNum 7, 1, 13, SheetValues, sh
SheetValues = Range(Cells(x, 9), Cells(x, 15)).Resize(1, 7).Value
WeekNum 17, 1, 23, SheetValues, sh
End With
End Sub

Sub WeekNum(r As Long, c As Long, maxR As Long, SheetValues, sh As
Worksheet)
Dim rng As Range
With sh

Do While r <= maxR

Set rng = .Cells(r, 3).Resize(1, 5)
Select Case SheetValues(1, c)

Case 0
rng.Value = Array(0, 0, 0, "RDO", 0)
Case "a", "e"
rng.Value = Array("9:00", "17:21", "0:45", 0, 0)

End Select

r = r + 1
c = c + 1

Loop
End With

End Sub



























"Bob Phillips" wrote in message
...
Sorry Max, I am losing it today.

Change that

With Worksheets(sh)

to

With sh

The problem was that sh was a worksheet object, and I was trying to use it
as a worksheet name string. Total **£$?!* on my part.

Fingers crossed.

--

HTH

Bob Phillips
... looking out across Poole Harbour to the Purbecks
(remove nothere from the email address if mailing direct)

"Max Bialystock" wrote in message
...
Hi Bob and thanks very much for all your help,

The routine stops at:
With Worksheets(sh)
with an error message 13 type mismatch.

I can't see what's wrong, but then I'm in a little over my head here.


--
Regards,
Max