Stepping through v. running code

O

Office_Novice

Greetings,
When i step through this it works perfectly. However when i run it it only
returns the first "i" for each any thoughts?

Sub PrintEmOut()
Dim MyRange As Range
Dim WS As Worksheet
Dim Lastrow As Long
Dim i As Variant

Set WS = ActiveWorkbook.Worksheets(2)
Lastrow = WS.Cells(Cells.Rows.Count, "B").End(xlUp).Row
Set MyRange = WS.Range("B2:B" & Lastrow)

For Each i In MyRange
With Worksheets(1)
.Label1.Caption = i
.Label2.Caption = i.Offset(0, 13).Value
.Label3.Caption = i.Offset(0, 11).Value
.PrintPreview
.Label1.Caption = ""
.Label2.Caption = ""
.Label3.Caption = ""
End With
Next
End Sub
 
J

Joel

If you have more than one workbook open make sure you have the one you are
modifying active before steopping through code. I also added activeworkbook
to the with statement.

from
For Each i In MyRange
With ActiveWorkbook.Worksheets(1)
..
..
..
End With
Next

to
For Each i In MyRange
With Worksheets(1)
..
..
..
End With
Next
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top