Vba 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. Показов 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

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 написал:
не сидеть мне тут больше)

Кнопка для перехода на другой лист

zii8

Дата: Пятница, 29.08.2014, 11:37 |
Сообщение № 1

Группа: Пользователи

Ранг: Новичок

Сообщений: 35


Репутация:

0

±

Замечаний:
0% ±


Excel 2010

Добрый день !
Вопрос как прописать чтоб при нажатии кнопки производился переход на другой лист

К сообщению приложен файл:

-2-.xlsx
(12.1 Kb)

Сообщение отредактировал zii8Пятница, 29.08.2014, 12:15

 

Ответить

DJ_Marker_MC

Дата: Пятница, 29.08.2014, 11:39 |
Сообщение № 2

Группа: Друзья

Ранг: Ветеран

Сообщений: 991


Репутация:

213

±

Замечаний:
0% ±


Excel 2019

zii8, добрый день. А можно подробнее и с файлом-примером?
без примера что да как конкретно нужно, то только так:
[vba]

Код

Sub Макрос1()
     Sheets(«Лист2»).Select
End Sub

[/vba]

 

Ответить

zii8

Дата: Пятница, 29.08.2014, 11:42 |
Сообщение № 3

Группа: Пользователи

Ранг: Новичок

Сообщений: 35


Репутация:

0

±

Замечаний:
0% ±


Excel 2010

он почему то не прикрепился

 

Ответить

Rioran

Дата: Пятница, 29.08.2014, 11:45 |
Сообщение № 4

Группа: Авторы

Ранг: Ветеран

Сообщений: 903


Репутация:

290

±

Замечаний:
0% ±


Excel 2013

zii8, здравствуйте.

Вы можете перейти на вкладку «Вставка» — «Фигуры» и нарисовать любую вещь, например прямоугольник. Выделяете его потом правой кнопкой мыши и выбираете «Гиперссылка» (рядом с рисунком планеты и цепочки). В графе «Связать с» выбираете «местом в документе» и правее выбираете нужную ячейку и лист. Теперь после нажатия на прямоугольник — Вас будет переносить, куда указано. Также, по нажатию правой кнопой мыши на фигуру — можно выбрать «Изменить текст» и написать что душе угодно.


Роман, Москва, voronov_rv@mail.ru
Яндекс-Деньги: 41001312674279

 

Ответить

zii8

Дата: Пятница, 29.08.2014, 12:16 |
Сообщение № 5

Группа: Пользователи

Ранг: Новичок

Сообщений: 35


Репутация:

0

±

Замечаний:
0% ±


Excel 2010

ура я выложил

 

Ответить

zii8

Дата: Пятница, 29.08.2014, 12:17 |
Сообщение № 6

Группа: Пользователи

Ранг: Новичок

Сообщений: 35


Репутация:

0

±

Замечаний:
0% ±


Excel 2010

Спасибо

 

Ответить

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


Like this post? Please share to your friends:
  • Vba excel переход на новую строку
  • Vba excel переход на другую строку
  • Vba excel перехват нажатия клавиш
  • Vba excel пересчет ячейки
  • Vba excel пересчет книги