Вы можете циклически просматривать открытые книги:
Public sub GetWB(byval wb_name as string) as excel.workbook
Dim wbkCurr as excel.workbook
Set getwb=nothing
For each wbkCurr in application.workbooks
If lower(left(wbkCurr.name, instr(wbkCurr.name,”.”))) = lcase(wb_name) then
Set getwb = wbkCurr
Endif
Next wbkCurr
End function
Называть его с помощью set wb = getwb (wb_name)
Просто проверьте, что wb все еще ничто, прежде чем продолжить