Alternatively you can also use a Collection with the advantage of using also the key in item, more to index:
Sub test2() Dim wb As Workbook Dim ws As Worksheet Dim colWs As New Collection Set wb = ThisWorkbook For Each ws In wb.Worksheets colWs.Add ws, ws.Name Next Set ws = colWs.Item(wb.Worksheets(1).Name) Debug.Print ws.Name Set ws = colWs.Item(1) Debug.Print ws.Name End Sub regards r -- ---------------------------------------------------------------------------------- Some important links for excel users: 1. Follow us on TWITTER for tips tricks and links : http://twitter.com/exceldailytip 2. Join our LinkedIN group @ http://www.linkedin.com/groups?gid=1871310 3. Excel tutorials at http://www.excel-macros.blogspot.com 4. Learn VBA Macros at http://www.quickvba.blogspot.com 5. Excel Tips and Tricks at http://exceldailytip.blogspot.com To post to this group, send email to excel-macros@googlegroups.com <><><><><><><><><><><><><><><><><><><><><><> HELP US GROW !! We reach over 7000 subscribers worldwide and receive many nice notes about the learning and support from the group.Let friends and co-workers know they can subscribe to group at http://groups.google.com/group/excel-macros/subscribe