View Single Post
  #2   Report Post  
Posted to microsoft.public.excel.programming
Jim Thomlinson Jim Thomlinson is offline
external usenet poster
 
Posts: 5,939
Default Worksheet loop won't loop

Give this a wirl...

Sub WorksheetLoop()
Dim wks as worksheet

For each wks in worksheets
with wks
.Range("IV4").End(xlToLeft).Offset(0, 1).Value = _
.Range("IV4").End(xlToLeft).Value + 1
.Range("IV13").End(xlToLeft).Resize(6, 1).Copy _
.Range("IV13").End(xlToLeft).Offset(0, 1)
end with
Next wks
End Sub

With your code you would need to reference each sheet something like this...

Sub WorksheetLoop()
Dim WS_Count As Integer
Dim I As Integer

WS_Count = ActiveWorkbook.Worksheets.Count

For I = 1 To WS_Count
with sheets(I)
.Range("IV4").End(xlToLeft).Offset(0, 1).Value = _
.Range("IV4").End(xlToLeft).Value + 1
.Range("IV13").End(xlToLeft).Resize(6, 1).Copy _
.Range("IV13").End(xlToLeft).Offset(0, 1)
end with
Next I
End Sub

--
HTH...

Jim Thomlinson


"L. Howard Kittle" wrote:

Hello Excell Experts and Users,

When I run this code, it runs 10 times on the first sheet. I have 10 sheets
in the workbook. Tried it on three different workbooks, in a module, in the
ThisWorkbook module and in the first sheet module.

This is pretty basic but it has me baffled...?

Sub WorksheetLoop()
Dim WS_Count As Integer
Dim I As Integer

WS_Count = ActiveWorkbook.Worksheets.Count

For I = 1 To WS_Count

Range("IV4").End(xlToLeft).Offset(0, 1).Value = _
Range("IV4").End(xlToLeft).Value + 1
Range("IV13").End(xlToLeft).Resize(6, 1).Copy _
Range("IV13").End(xlToLeft).Offset(0, 1)

Next I
End Sub

Thanks for any help.
Regards,
Howard