У Стива есть рабочая тетрадь, в которой он создает новую вкладку рабочего листа для каждого проекта, над которым работает. Чтобы все было под контролем, он скрывает завершенные вкладки / проекты. У Стива теперь более 100 скрытых листов. У него регулярно возникает потребность вернуться к завершенному проекту. Для этого Стив выбирает отображение рабочих листов. Откроется диалоговое окно «Показать», которое содержит имена скрытых листов в произвольном порядке. Чтобы найти вкладку / проект, ему нужно прокрутить это очень маленькое диалоговое окно и найти нужную вкладку. Стив считает это очень трудоемким и отнимающим много времени, поэтому ему интересно, есть ли лучший способ найти и отобразить рабочий лист для завершенного проекта.

Одно из решений этой слишком распространенной проблемы состоит в том, что вы можете создать указатель или оглавление для рабочих листов в своей книге. Вы делаете это, добавляя новый рабочий лист, а затем помещая гиперссылки на рабочий лист на все различные рабочие листы в вашей книге. Он может включать в себя практически любую информацию о листах (помимо гиперссылки). Щелкните гиперссылку, и нужный рабочий лист отобразится без необходимости прокручивать какие-либо диалоговые окна.

Вы также можете создать вторую книгу, содержащую только ваши завершенные проекты. Перемещать листы из одной книги в другую довольно легко, поэтому используйте две книги («активная» и «завершенная»)

было бы несложно. Кроме того, вам не нужно скрывать какие-либо рабочие листы в книге, содержащие завершенные проекты, и вы можете размещать их в любом желаемом порядке.

Если вы предпочитаете оставить книгу как есть, то вы можете подумать о создании макроса, который упростил бы отображение скрытых листов. Рассмотрим следующий пример:

Sub UnHideWorksheets()

Dim sSheetName As String     Dim w As Worksheet     Dim sTemp As String

sTemp = "Name (or partial) of sheet to show?"

sSheetName = InputBox(sTemp, "Show Hidden Sheet")

If sSheetName > "" Then         sSheetName = LCase(sSheetName)

For Each w In Sheets             w.Tab.ColorIndex = xlColorIndexNone             sTemp = LCase(w.Name)

If Instr(sTemp, sSheetName) Then                 w.Visible = True                 w.Tab.ColorIndex = 6             End If         Next w     End If End Sub

Макрос запрашивает у пользователя имя рабочего листа, а затем проходит через все рабочие листы. Если он находит совпадение, отображается рабочий лист, а цвет вкладки рабочего листа устанавливается на желтый. Макрос фактически работает с частичными совпадениями, что означает, что вы можете ввести только часть имени рабочего листа, и любые рабочие листы, содержащие частичное совпадение, будут отображаться. Вы можете легко назначить макрос для сочетания клавиш или панели быстрого доступа, чтобы вы могли мгновенно вызвать его в действие.

ExcelTips — ваш источник экономичного обучения Microsoft Excel.

Этот совет (13589) применим к Microsoft Excel 2007, 2010, 2013, 2016, 2019 и Excel в Office 365.