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. Показов 56952. Ответов 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
.