Vba в excel переход на лист excel

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

08008f3433d614b4eb713fdcde4e01eb.jpg

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

3e8969b16e6f131afc29445b0f9a02ac.jpg

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

Visual Basic
1
2
3
4
Set WS1 = ActiveSheet ' активный лист
Set WS2 = ActiveWorkbook.Sheets("Лист1") ' - нужный лист
WS2.Cells(1,1).value=WS2.Cells(1,1).value
WS2.Activate ' - нужный стал активным

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

Чтобы взять/скопировать данные — не нужно «менять» лист, просто нужно в коде указать с какого листа данные берёте и на какой копируете, примерно как выше в коде:

Visual Basic
1
WS1.Cells(1,1).value=WS2.Cells(1,1).value

А вообще — каким макаром ожила эта тема?



0



 

Добрый день. Например, выполняется макрос копирования данных с «Лист1» и вставка на «Лист2» и снова переход на «Лист1». Как сделать настройку, чтобы переход с «Лист2» на «Лист1» осуществлялся через заданное время — 3секунды. Или по простому: как макросом задать время для перехода одного листа на другой. Спасибо.

 

kuklp

Пользователь

Сообщений: 14868
Регистрация: 21.12.2012

E-mail и реквизиты в профиле.

#2

24.10.2016 10:22:46

Для копирования на другой лист совсем необязательно переходить на него.

Цитата
natalia875 написал: как макросом задать время

Читайте хелп по OnTime. Или Sleep.

Изменено: kuklp24.10.2016 21:37:30

Я сам — дурнее всякого примера! …

 

Я понимаю, что можно не переходить, но мне нужно перейти, посмотреть на результат в ячейке, и через 3 секунды перейти на предыдущий лист.

 

Юрий М

Модератор

Сообщений: 60575
Регистрация: 14.09.2012

Контакты см. в профиле

#4

24.10.2016 10:43:02

Запустите этот макрос при активном первом листе.

Код
Sub Test()
    Sheets("Лист2").Activate
    Application.Wait Time:=Now + TimeSerial(0, 0, 3) 'Приостановить на три секунды
    Sheets("Лист1").Activate
End Sub
 

Adi

Пользователь

Сообщений: 13
Регистрация: 24.10.2016

Добрый день! помогитепожалуйста, с копирование листа…копирую ячейки в новый документ из формата xlm  они переносятся вместе с макросом, спец вставкой все равно макросы переносятся, а мне нужны ТОЛЬКО ДАННЫЕ, чтобы потом через ВПР подтянуть их в следующий документ…как это сделать? иначе Н/Д на подтяжке возникает..я пробовала удалять макросы из книги, но там, видимо, есть скрытые, а я новичок..не знаю, как это проверить

 

Спасибо большое Юрий М, все получилось.  :)

 

Юрий М

Модератор

Сообщений: 60575
Регистрация: 14.09.2012

Контакты см. в профиле

Adi, какое отношение Ваш вопрос имеет к ЭТОЙ теме?

 

Adi

Пользователь

Сообщений: 13
Регистрация: 24.10.2016

копирование листов…не думаю,что для спецов вопрос сложный и  решила-будет  излишне целую тему создавать)) но могу перенести, если это принципиально) хотя,сейчас важне быстро сделать эту таблицу и подтянуть 800 строк ВПР …иначе не сидеть мне тут больше)

 

Юрий М

Модератор

Сообщений: 60575
Регистрация: 14.09.2012

Контакты см. в профиле

#9

24.10.2016 11:29:41

Цитата
Adi написал:
решила-будет  излишне целую тему создавать

И поэтому решили из темы создать свалку? Вы подумайте: зайдёт человек с такой же проблемой, как у Вас — придёт ли ему в голову искать ответ на свой вопрос в теме, где обсуждается задержка при переходе с листа на лист?

 

Adi

Пользователь

Сообщений: 13
Регистрация: 24.10.2016

Спасибо за помощь и информативные «несвалочные» сообщения ни в одну из тем))

 

vikttur

Пользователь

Сообщений: 47199
Регистрация: 15.09.2012

Adi, это замечания модератора о несоблюдении Вами правил форума. Модераторы почистят тему, не переживайте, а Вы только добавляете работы своими язвительными замечаниями.

 

Юрий М

Модератор

Сообщений: 60575
Регистрация: 14.09.2012

Контакты см. в профиле

#12

24.10.2016 21:50:00

Просто если ещё раз будет такая реакция, то точно

Цитата
Adi написал:
не сидеть мне тут больше)

Создание гиперссылки в 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.


Перейти к определенному листу, щелкнув имя вкладки, очень легко для многих пользователей, но если книга большая с несколькими листами, которые не могут отображаться на вкладке, как показано на скриншоте ниже, как вы можете быстро найти лист и перейти к Это?

документ перейти к конкретному листу 1

Щелкните правой кнопкой мыши на конкретный лист

Перейти на конкретный лист с VBA

Перейти к определенному листу с помощью Kutools for Excelхорошая идея3

Проверьте, существует ли имя листа с помощью Kutools for Excel


стрелка синий правый пузырь Щелкните правой кнопкой мыши на конкретный лист

В Excel, чтобы перейти к определенному листу, вы можете использовать правый щелчок.

Поместите курсор на стрелки мусора в нижнем левом углу листа и щелкните правой кнопкой мыши, вы увидите всплывающее контекстное меню, показывающее первые 15 листов.

документ перейти к конкретному листу 2

Если в вашей книге более 15 листов, вы можете нажать Больше листов до активировать В этом диалоговом окне все листы отображаются в нем, и просто прокрутите, чтобы найти нужный лист, и щелкните его, чтобы активировать его.

документ перейти к конкретному листу 3

Примечание: В 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

4. Нажмите OK, и теперь вы разместили на нужном вам листе.


стрелка синий правый пузырь Перейти к определенному листу с помощью Kutools for Excel

Работы С Нами Kutools for Excel, вы можете перечислить все имена листов, а затем найти нужное имя листа и перейти к нему.

После бесплатная установка Kutools for Excel, пожалуйста, сделайте следующее:

1. Нажмите Кутулс Плюс > Рабочий лист > Создать список имен листов. Смотрите скриншот:

документ перейти к конкретному листу 13

2. В появившемся диалоговом окне сделайте следующее:

документ перейти к конкретному листу 6

1) Проверьте Содержит список гиперссылок вариант;
2) Введите имя для вашего нового листа, которое будет содержать все имена листов;
3) Укажите место для вставки нового листа;
4) Укажите, сколько столбцов вы хотите разместить на листе с именами листов.

3. Нажмите Ok. Теперь создается новый лист со всем списком имен листов,

документ перейти к конкретному листу 7

4. Нажмите Ctrl + F для открытия Найти и заменить диалоговое окно, затем введите имя листа, которое вы хотите найти, в Найти то, что текстовое окно. Смотрите скриншот:

документ перейти к конкретному листу 8

5. Нажмите Найти все. Теперь нужный вам лист выбран (закройте Найти и заменить диалоговое окно), а затем просто щелкните его, вы перейдете на этот конкретный лист.

документ перейти к конкретному листу 9

Щелкните здесь, чтобы узнать больше о создании списка имен листов.


стрелка синий правый пузырь Проверьте, существует ли имя листа с помощью Kutools for Excel

Если вы просто хотите проверить, существует ли имя листа в книге, и вам не нужно переходить к нему, я могу предложить вам трюк.

После бесплатная установка Kutools for Excel, пожалуйста, сделайте следующее:

1. Нажмите Кутулс Плюс > Рабочий лист > Переименовать листы. Смотрите скриншот:

документ перейти к конкретному листу 10

2. Затем проверьте Фильтр флажок во всплывающем диалоговом окне. Смотрите скриншот:

документ перейти к конкретному листу 11

3. Теперь введите имя листа, которое вы хотите проверить, в текстовое поле под Фильтр, и после ввода, если в Рабочий лист list, лист существует в книге или нет.

документ перейти к конкретному листу 12

Нажмите здесь, чтобы узнать больше о Kutools for Excel’s Переименовать несколько рабочих листов.


Лучшие инструменты для работы в офисе

Kutools for Excel Решит большинство ваших проблем и повысит вашу производительность на 80%

  • Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма …
  • Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон
  • Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы… Предотвращение дублирования ячеек; Сравнить диапазоны
  • Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор …
  • Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое …
  • Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии
  • Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом …
  • Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF
  • Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.

вкладка kte 201905


Вкладка Office: интерфейс с вкладками в Office и упрощение работы

  • Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
  • Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
  • Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!

офисный дно

Понравилась статья? Поделить с друзьями:
  • Vba в excel как обращаться к ячейкам
  • Vba в excel информатика
  • Vba в excel выбрать данные с листа
  • Vba адрес ячейки excel это
  • Vba выравнивание текста word