Поиск листа, который нужно показать среди множества скрытых листов (Microsoft Excel)
У Стива есть рабочая тетрадь, в которой он создает новую вкладку рабочего листа для каждого проекта, над которым работает. Чтобы все было под контролем, он скрывает завершенные вкладки / проекты. У Стива теперь более 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.