Make a particular worksheet visible using a macro in Excel.
This is called activating a worksheet and is rather easy to do.
Sections:
Activate Worksheet by Name
Activate Worksheet by Index Number
Notes
Activate Worksheet by Name
Let’s navigate to, activate, the worksheet called «Sheet2».
Worksheets("Sheet2").Activate
Worksheets(«Shee2») is how we reference the sheet to which we want to navigate.
Sheet2 is the name of the sheet to which we want to navigate. Make sure to surround it with double quotation marks.
Activate is what actually takes the user to that worksheet.
Putting it all together, we get: Worksheets(«Sheet2»).Activate
It’s as simple as that.
Activate Worksheet by Index Number
This time, let’s navigate to the second worksheet using its index number.
All we do is to replace «Sheet2» from the last example with 2.
Worksheets(2).Activate
2 is the index number of the desired worksheet and Activate is what takes us to the desired worksheet.
This example can be confusing if you are not used to using index numbers, but index numbers are really helpful when you have to do something like loop through all of the worksheets in the workbook.
Notes
Basically, just reference the desired worksheet, however you want, and then type .Activate after it.
You should not use the Activate feature to navigate to a worksheet so that you can get data from it or put data into it. This is very bad Macro/VBA design and it will make your life hell later on. To get data from separate worksheets, read this tutorial: Select Data from Separate Worksheets with Macros VBA in Excel.
This feature should be used when you want the user to end up on a specific worksheet.
Make sure to download the sample file attached to this tutorial so that you can see this macro in Excel and work with it.
Similar Content on TeachExcel
Copy and Paste Data using Macro VBA in Excel
Tutorial: How to copy and paste data using a Macro in Excel. I’ll show you multiple ways to do this,…
Select Data from Separate Worksheets with Macros VBA in Excel
Tutorial: Select data from other worksheets with Macros and VBA without navigating to those workshee…
Get the Last Row using VBA in Excel
Tutorial:
(file used in the video above)
How to find the last row of data using a Macro/VBA in Exce…
Login to a Website using a Macro
: Connect and login to a website using a macro in Excel.
This allows you to open a website a…
Get the Name of a Worksheet in Macros VBA in Excel
Tutorial: How to get the name of a worksheet in Excel using VBA and Macros and also how to store tha…
Guide to Creating Charts with a Macro in Excel
Tutorial: How to add, edit, and position charts in Excel using VBA.
This tutorial covers what to do …
Subscribe for Weekly Tutorials
BONUS: subscribe now to download our Top Tutorials Ebook!
Gala_k |
|
1 |
|
02.06.2011, 16:29. Показов 56960. Ответов 5
Мне нужно взять данные с одного листа и скопировать их в ячейки другого листа и далее работать со вторым листом. Какой командой можно поменять лист? Помогите. |
1 / 1 / 1 Регистрация: 10.04.2011 Сообщений: 415 |
|
02.06.2011, 17:06 |
2 |
1. Используй запись макросов, ё-моё! — эксель тебе сам все распишет, и как копировать, и как лист поменять…
0 |
Gala_k |
|
02.06.2011, 17:17 |
3 |
я понимаю что через макрос, но только чтоб я не писала он у меня работает только с первым листом, а на второй ничего выводить не хочет. |
Сумрак |
||||
03.06.2011, 04:38 |
4 |
|||
|
0 / 0 / 0 Регистрация: 11.11.2019 Сообщений: 3 |
|
24.02.2020, 18:31 |
5 |
Sheets(«нужный лист»).Select
0 |
Hugo121 6875 / 2807 / 533 Регистрация: 19.10.2012 Сообщений: 8,562 |
||||
24.02.2020, 18:43 |
6 |
|||
Чтобы взять/скопировать данные — не нужно «менять» лист, просто нужно в коде указать с какого листа данные берёте и на какой копируете, примерно как выше в коде:
А вообще — каким макаром ожила эта тема?
0 |
Добрый день. Например, выполняется макрос копирования данных с «Лист1» и вставка на «Лист2» и снова переход на «Лист1». Как сделать настройку, чтобы переход с «Лист2» на «Лист1» осуществлялся через заданное время — 3секунды. Или по простому: как макросом задать время для перехода одного листа на другой. Спасибо. |
|
kuklp Пользователь Сообщений: 14868 E-mail и реквизиты в профиле. |
#2 24.10.2016 10:22:46 Для копирования на другой лист совсем необязательно переходить на него.
Читайте хелп по OnTime. Или Sleep. Изменено: kuklp — 24.10.2016 21:37:30 Я сам — дурнее всякого примера! … |
||
Я понимаю, что можно не переходить, но мне нужно перейти, посмотреть на результат в ячейке, и через 3 секунды перейти на предыдущий лист. |
|
Юрий М Модератор Сообщений: 60575 Контакты см. в профиле |
#4 24.10.2016 10:43:02 Запустите этот макрос при активном первом листе.
|
||
Adi Пользователь Сообщений: 13 |
Добрый день! помогитепожалуйста, с копирование листа…копирую ячейки в новый документ из формата xlm они переносятся вместе с макросом, спец вставкой все равно макросы переносятся, а мне нужны ТОЛЬКО ДАННЫЕ, чтобы потом через ВПР подтянуть их в следующий документ…как это сделать? иначе Н/Д на подтяжке возникает..я пробовала удалять макросы из книги, но там, видимо, есть скрытые, а я новичок..не знаю, как это проверить |
Спасибо большое Юрий М, все получилось. |
|
Юрий М Модератор Сообщений: 60575 Контакты см. в профиле |
Adi, какое отношение Ваш вопрос имеет к ЭТОЙ теме? |
Adi Пользователь Сообщений: 13 |
копирование листов…не думаю,что для спецов вопрос сложный и решила-будет излишне целую тему создавать)) но могу перенести, если это принципиально) хотя,сейчас важне быстро сделать эту таблицу и подтянуть 800 строк ВПР …иначе не сидеть мне тут больше) |
Юрий М Модератор Сообщений: 60575 Контакты см. в профиле |
#9 24.10.2016 11:29:41
И поэтому решили из темы создать свалку? Вы подумайте: зайдёт человек с такой же проблемой, как у Вас — придёт ли ему в голову искать ответ на свой вопрос в теме, где обсуждается задержка при переходе с листа на лист? |
||
Adi Пользователь Сообщений: 13 |
Спасибо за помощь и информативные «несвалочные» сообщения ни в одну из тем)) |
vikttur Пользователь Сообщений: 47199 |
Adi, это замечания модератора о несоблюдении Вами правил форума. Модераторы почистят тему, не переживайте, а Вы только добавляете работы своими язвительными замечаниями. |
Юрий М Модератор Сообщений: 60575 Контакты см. в профиле |
#12 24.10.2016 21:50:00 Просто если ещё раз будет такая реакция, то точно
|
||
Создание гиперссылки в VBA Excel методом Hyperlinks.Add для перехода на другой лист, на интернет-сайт, для открытия любого файла в программе по умолчанию.
Hyperlinks.Add — это метод, который добавляет новую гиперссылку к указанному объекту Range (диапазону, ячейке) или объекту Shape (фигуре).
Синтаксис
Expression.Add (Anchor, Address, SubAddress, ScreenTip, TextToDisplay) |
Expression — выражение (переменная), возвращающее объект Hyperlinks.
Параметры
Параметр | Описание |
---|---|
Anchor | Объект Range или объект Shape, к которому привязывается (добавляется) новая гиперссылка. Обязательный параметр. Тип данных — Object. |
Address | Адрес гиперссылки. Обязательный параметр. Тип данных — String. |
SubAddress | Субадрес гиперссылки. Необязательный параметр. Тип данных — Variant. |
ScreenTip | Всплывающая подсказка, отображаемая при наведении указателя мыши на текст гиперссылки. Необязательный параметр. Тип данных — Variant. |
TextToDisplay | Текст гиперссылки. Необязательный параметр. Тип данных — Variant. |
Если текст гиперссылки (TextToDisplay) не указан, будет отображен текст параметров Address и SubAddress.
Создание гиперссылки на рабочий лист другой книги:
ActiveSheet.Hyperlinks.Add Anchor:=Range(«A4»), Address:=«C:UsersEvgeniyDesktopКнига2.xlsx», _ SubAddress:=«Лист3!D5», ScreenTip:=«Гиперссылка на Лист3!D5 в Книга2», TextToDisplay:=«Книга2 — Лист3!D5» |
Создание гиперссылки на другой лист текущей книги:
ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:=«», _ SubAddress:=«Лист4!D6», TextToDisplay:=«Эта книга — Лист4!D6» |
Создание гиперссылки на другую ячейку того же листа:
Worksheets(«Лист1»).Hyperlinks.Add Anchor:=Range(«A1»), Address:=«», _ SubAddress:=«Лист1!D6», TextToDisplay:=«Перейти к D6» |
Создание гиперссылки на документ Word:
ActiveSheet.Hyperlinks.Add Anchor:=Range(«A1»), Address:=«C:UsersEvgeniyDocumentsДокумент 1.docx», _ TextToDisplay:=«Ссылка на Документ 1» |
Создание гиперссылки на точечный рисунок:
ActiveSheet.Hyperlinks.Add Anchor:=Range(«A1»), Address:=«C:UsersEvgeniyDocumentsРисунок 1.bmp», _ TextToDisplay:=«Ссылка на Рисунок 1» |
Пример добавления гиперссылки на рубрику «VBA Excel» сайта «Время не ждёт»:
ActiveSheet.Hyperlinks.Add Anchor:=Range(«A1»), Address:=«https://vremya-ne-zhdet.ru/category/vba-excel/», _ TextToDisplay:=«Рубрика VBA Excel» |
Поиск первой ячейки с гиперссылкой в заданном диапазоне:
Sub Primer() Dim myRange As Range, n As Integer, i As Integer, s As String ‘Задаем диапазон поиска Set myRange = Range(«A1:G10») ‘Вычисляем количество ячеек в заданном диапазоне n = myRange.Cells.Count ‘Ищем первую ячейку с гиперссылкой For i = 1 To n If myRange.Cells(i).Hyperlinks.Count > 0 Then s = myRange.Cells(i).Address Exit For End If Next MsgBox s End Sub |
Для поиска последней ячейки с гиперссылкой в заданном диапазоне следует заменить строку
For i = 1 To n
на
For i = n To 1 Step -1
.
Перейти к определенному листу, щелкнув имя вкладки, очень легко для многих пользователей, но если книга большая с несколькими листами, которые не могут отображаться на вкладке, как показано на скриншоте ниже, как вы можете быстро найти лист и перейти к Это?
Щелкните правой кнопкой мыши на конкретный лист
Перейти на конкретный лист с VBA
Перейти к определенному листу с помощью Kutools for Excel
Проверьте, существует ли имя листа с помощью Kutools for Excel
Щелкните правой кнопкой мыши на конкретный лист
В Excel, чтобы перейти к определенному листу, вы можете использовать правый щелчок.
Поместите курсор на стрелки мусора в нижнем левом углу листа и щелкните правой кнопкой мыши, вы увидите всплывающее контекстное меню, показывающее первые 15 листов.
Если в вашей книге более 15 листов, вы можете нажать Больше листов до активировать В этом диалоговом окне все листы отображаются в нем, и просто прокрутите, чтобы найти нужный лист, и щелкните его, чтобы активировать его.
Примечание: В Excel 2013 активировать диалоговое окно появится сразу после щелчка правой кнопкой мыши по стрелке в нижнем правом углу Панель листа.
Если в книге так много листов, это не лучший выбор для поиска и перехода к конкретному листу с помощью прокрутки.
Перейти на конкретный лист с VBA
Существует код VBA, который поможет вам быстро найти и перейти к определенному листу в книге.
1. Пресса Alt + F11 ключи вместе, и Microsoft Visual Basic для приложений окно выскакивает.
2. Нажмите Вставить > Модули, затем вставьте ниже VBA в Модули окно.
VBA: перейти на конкретный лист
Sub GotoSheet()
'UpdatebyKutoolsforExcel20150916
Dim xRet As Variant
Dim xSht As Worksheet
xRet = Application.InputBox("Go to this sheet", "Kutools for Excel")
On Error Resume Next
If xRet = False Then Exit Sub
On Error GoTo 0
On Error Resume Next
Set xSht = Sheets(xRet)
If xSht Is Nothing Then Set xSht = Sheets(Val(xRet))
If xSht Is Nothing Then
MsgBox "This sheet does not exist", , "Kutools for Excel"
Else
xSht.Activate
End If
End Sub
3. Нажмите Run или нажмите F5 выпустить код, и Kutools for Excel появится dailog, затем введите имя листа, который вы хотите найти, и перейдите в текстовое поле. Смотрите скриншот:
4. Нажмите OK, и теперь вы разместили на нужном вам листе.
Перейти к определенному листу с помощью Kutools for Excel
Работы С Нами Kutools for Excel, вы можете перечислить все имена листов, а затем найти нужное имя листа и перейти к нему.
После бесплатная установка Kutools for Excel, пожалуйста, сделайте следующее:
1. Нажмите Кутулс Плюс > Рабочий лист > Создать список имен листов. Смотрите скриншот:
2. В появившемся диалоговом окне сделайте следующее:
1) Проверьте Содержит список гиперссылок вариант;
2) Введите имя для вашего нового листа, которое будет содержать все имена листов;
3) Укажите место для вставки нового листа;
4) Укажите, сколько столбцов вы хотите разместить на листе с именами листов.
3. Нажмите Ok. Теперь создается новый лист со всем списком имен листов,
4. Нажмите Ctrl + F для открытия Найти и заменить диалоговое окно, затем введите имя листа, которое вы хотите найти, в Найти то, что текстовое окно. Смотрите скриншот:
5. Нажмите Найти все. Теперь нужный вам лист выбран (закройте Найти и заменить диалоговое окно), а затем просто щелкните его, вы перейдете на этот конкретный лист.
Щелкните здесь, чтобы узнать больше о создании списка имен листов.
Проверьте, существует ли имя листа с помощью Kutools for Excel
Если вы просто хотите проверить, существует ли имя листа в книге, и вам не нужно переходить к нему, я могу предложить вам трюк.
После бесплатная установка Kutools for Excel, пожалуйста, сделайте следующее:
1. Нажмите Кутулс Плюс > Рабочий лист > Переименовать листы. Смотрите скриншот:
2. Затем проверьте Фильтр флажок во всплывающем диалоговом окне. Смотрите скриншот:
3. Теперь введите имя листа, которое вы хотите проверить, в текстовое поле под Фильтр, и после ввода, если в Рабочий лист list, лист существует в книге или нет.
Нажмите здесь, чтобы узнать больше о Kutools for Excel’s Переименовать несколько рабочих листов.
Лучшие инструменты для работы в офисе
Kutools for Excel Решит большинство ваших проблем и повысит вашу производительность на 80%
- Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма …
- Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон…
- Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы… Предотвращение дублирования ячеек; Сравнить диапазоны…
- Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор …
- Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое …
- Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии…
- Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом …
- Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF…
- Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.
Вкладка Office: интерфейс с вкладками в Office и упрощение работы
- Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
- Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
- Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!