View Single Post
  #1   Report Post  
Posted to microsoft.public.excel.programming
Randy[_10_] Randy[_10_] is offline
external usenet poster
 
Posts: 16
Default Use of Sheet CodeNames to Select Sheet in Different Workbook

I'm have a procedure built in one workbook that is designed to make
modifications to another workbook that is selected by the user. In my
procedure, I need to test the name of each worksheet in the user's
workbook to determine how to proceed on each sheet. For some reason, I
am unable to correctly point the appropriate sheet in the user's
workbook and capture its name in a variable. I have tried a few
different methods, none with any success.

Here is the abbreviated code:

Sub UnprotectSheets(strUpdateWb As String)
'where strUpdateWb is the name of an open workbook selected by the user

Windows(strUpdateWb).Activate
Dim wb As Workbook
Set wb = ActiveWorkbook

'Attempt #1
Dim ShName As String
ShName = wb.Sheet1.Name
MsgBox (ShName) 'yields a run-time error. code stops.

'Attempt #2
ShName = Sheet1.Name
MsgBox (ShName) 'gives me the sheet name from the immediate
workbook. I need the sheet name from the user-selected workbook

'Attempt #3
ShName = strUpdateWb.Sheet1.Name
MsgBox (ShName) 'run time error again

End Sub

Why can't I "see" the other workbook? Can anybody point me in the
right direction?

Thanks,
Randy Eastland