If you have a workbook containing quite a few worksheets, you may be looking for an easier way to jump to a specific group of worksheets, rather than use the scrolling arrows near the worksheet tabs. For instance, you might want to enter a single letter and have Excel display the first worksheet that begins with that letter. There is a way to do this directly within Excel. Simply follow these two steps if you are using Excel 2007 or Excel 2010:
- Right-click on the scrolling arrows at the left side of the tabs. Excel displays a Context menu that includes many of the worksheet tab names.
- Click on More Sheets option. Excel displays the Activate dialog box.
If you are using Excel 2013, the process of displaying the Activate dialog box is much simpler: Just right-click the scrolling areas and the Activate dialog box pops into view, containing a list of all your worksheets. (See Figure 1.)
Figure 1. The Activate dialog box.
To use the Activate dialog box, just press the first letter of the worksheet name you want. The first worksheet that begins with the letter is selected. If you continue pressing the same letter, then the next worksheet beginning with that letter is selected. When the desired worksheet name is selected, just press Enter and that worksheet is displayed.
The interesting thing about this approach is that you don’t need to have the worksheets in alphabetical order to use it. Each time you press a letter, Excel selects the next worksheet that begins with that letter.
While this approach is pretty fast to use, some people may object because it involves the use of both the mouse and the keyboard. Some people prefer to strictly use the keyboard. In this case, it is best if you sort your worksheets alphabetically (as covered in other issues of ExcelTips) and then use a macro to pull up the desired worksheet area. The following macro will do the trick:
Sub GoToSheet() Dim iTemp As Integer Dim sSheet As String Dim sThisOne As String sSheet = InputBox("Enter first letter of sheet", _ "Go to sheet", Left(ActiveSheet.Name, 1)) If sSheet = "" Then Exit Sub sSheet = UCase(Left(sSheet, 1)) iTemp = 0 For i = 1 To ThisWorkbook.Sheets.Count sThisOne = UCase(Left(ThisWorkbook.Sheets(i).Name, 1)) If sThisOne = sSheet Then iTemp = i Exit For End If Next i If iTemp > 0 Then ThisWorkbook.Sheets(iTemp).Activate End If End Sub
Now, assign a shortcut key to the macro, such as Ctrl+G. From now on, you can simply press Ctrl+G, type a letter, and then press Enter. The first worksheet that starts with the letter you specified is selected.
A final solution is to create your own “index” or “TOC” to your worksheets. Insert a blank worksheet at the beginning of the workbook, then add hyperlinks to the various other worksheets in your workbook. Someone could click on the hyperlink, which would then display the worksheet referenced by the hyperlink.
Setting up hyperlinks in this manner is definitely more work, but it does have advantages not offered by the other methods described so far. First, users don’t need to know the worksheet name at all. Second, you can use multiple “keywords” as links, each leading to the same worksheet. In this way the overall workbook becomes more accessible to different users. Finally, the sheets can be in any order desired, instead of putting them in alphabetical order.