Running a macro for all visible worksheets in a workbook

C

Craig_Richards

Hello,

I'm not the most experienced of macro writers but can normally muddle
through inelegantly enough. However this one has got me stuck. Can
anyone help?

I am trying to run a macro for all visible worksheets in a workbook and
failing gallantly. This is my code:

Sub update()

application.ScreenUpdating = False
Dim sht As Worksheet
For Each sht In ActiveWorkbook.Worksheets
If sht.Name = "End" Then GoTo finish
sht.Select
Range("A1").Select
RC = EssMenuVRetrieve()

Next sht
finish:
application.ScreenUpdating = True
End Sub

It updates the visible sheets fine but then I get run time error 1004
saying that Method 'select of object'_worksheet failed

Any ideas? I think I have probably not defined the final sheet
correctly but I thought it worked that way.

I appreaciate any feedback you could hive me.

Thanks
 
B

Bob Phillips

Does this do it?

Sub update()
Application.ScreenUpdating = False
Dim sht As Worksheet
For Each sht In ActiveWorkbook.Worksheets
If sht.Visible = xlSheetVisible Then
If sht.Name <> "End" Then
sht.Select
Range("A1").Select
RC = EssMenuVRetrieve()
End If
End If
Next sht
finish:
Application.ScreenUpdating = True
End Sub

--
HTH

Bob Phillips

"Craig_Richards"
 
C

Craig_Richards

Thanks for that. I'd tweaked my code a little in the meantime but the
xlsheetvisible code was the key I needed.

Cheers
 

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