Vba excel выбрать другой лист

Gala_k

1

02.06.2011, 16:29. Показов 56949. Ответов 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



Содержание

  • ActiveSheet
  • Выбранные листы против ActiveSheet
  • Выберите рабочий лист
  • Дополнительные примеры активации / выбора листов

В этой статье будет обсуждаться объект ActiveSheet в VBA. Также будет обсуждаться, как активировать, выбирать и переходить к рабочим листам (и многое другое). Прочтите наше полное руководство по рабочим листам VBA для получения дополнительной информации о работе с рабочими листами в VBA.

В VBA ActiveSheet относится к текущему активному рабочему листу. Одновременно может быть активен только один лист.

Активировать рабочий лист (настройка ActiveSheet)

Чтобы установить ActiveSheet, используйте Worksheet.Activate:

1 Рабочие листы («Ввод»). Активировать

Команда «Активировать лист» фактически «перейдет» к листу, изменив видимый лист.

В приведенном выше примере используется имя листа (вкладка). Вместо этого вы можете использовать кодовое имя VBA для рабочего листа:

Имя ActiveSheet

Чтобы получить имя ActiveSheet:

1 msgbox ActiveSheet.name

Выбранные листы против ActiveSheet

В любой момент времени ActiveSheet может быть только один лист. Однако можно выбрать сразу несколько листов.

Когда выбрано несколько листов, активным считается только самый верхний лист (ActiveSheet).

Выберите рабочий лист

Если вы хотите выбрать лист вместо его активации. Вместо этого используйте .Select.

Выбрать лист по имени вкладки

Это выбирает рабочий лист на основе его имени вкладки листа

1 Таблицы («Ввод»). Выбрать

Выбрать лист по порядковому номеру

Это выбирает рабочий лист на основе его положения относительно других вкладок.

1 Рабочие листы (1) .Выбрать

Выберите рабочий лист с кодовым именем VBA

Выбор листов по имени кода может предотвратить ошибки, вызванные изменением имени листа.

Выбрать текущий лист

Чтобы выбрать текущий рабочий лист, используйте объект ActiveSheet:

Дополнительные примеры активации / выбора листов

Установите ActiveSheet на переменную

Это назначит ActiveSheet переменной объекта рабочего листа.

123 Dim ws как рабочий листУстановить ws = ActiveSheet

Изменить имя ActiveSheet

Это изменит имя ActiveSheet.

1 ActiveSheet.Name = «NewName»

С ActiveSheet

Использование оператора With позволяет оптимизировать код при работе с объектами (такими как листы или ActiveSheet).

12345 С ActiveSheet.Name = «StartFresh».Cells.Clear.Range («A1»). Value = .NameКонец с

Обратите внимание, что вам не нужно повторять ActiveSheet перед каждой строкой кода. Это может значительно сэкономить время при работе с длинным списком команд.

Перебирать выбранные листы

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

12345678 Sub GetSelectedSheetsName ()Dim ws как рабочий листДля каждого ws в ActiveWindow.SelectedSheetsMsgBox ws.NameСледующий wsКонец подписки

Перейти к следующему листу

Этот код перейдет на следующий лист. Если ActiveSheet является последним листом, он перейдет к первому листу в рабочей книге.

12345 Если ActiveSheet.Index = Worksheets.Count, тоРабочие листы (1) .АктивироватьЕщеActiveSheet.Next.ActivateКонец, если

Вы поможете развитию сайта, поделившись страницей с друзьями

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!

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

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
Выберите конкретный рабочий лист на основе значения ячейки с кодом VBA
Легко создавайте индекс листов и переходите к определенному рабочему листу с помощью Kutools for Excel


Выберите конкретный рабочий лист в раскрывающемся списке с кодом VBA

Например, раскрывающийся список находится в ячейке A2 листа 8. Вы можете запустить приведенный ниже код VBA, чтобы выбрать или перейти к соответствующему листу, когда имя листа выбрано в раскрывающемся списке.

1. Нажмите другой + F11 для открытия Microsoft Visual Basic для приложений окно.

2. в Microsoft Visual Basic для приложений дважды щелкните имя листа (рабочий лист, содержащий раскрывающийся список, из которого вы выберете имена листов) на левой панели, затем скопируйте и вставьте приведенный ниже код VBA в окно кода.

Код VBA: выберите конкретный рабочий лист в раскрывающемся списке.

Private Sub Worksheet_Change(ByVal Target As Range)
    On Error Resume Next
    If Not (Application.Intersect(Range("A2"), Target) Is Nothing) Then _
        ThisWorkbook.Sheets(Target.Value).Activate
End Sub

Внимание: Вы можете изменить «A2» на свою ячейку.

3. Нажмите другой + Q клавиши одновременно, чтобы закрыть Microsoft Visual Basic для приложений окно.

С этого момента, когда вы выбираете имя листа в раскрывающемся списке Sheet8, этот лист будет выбираться автоматически.


Выберите конкретный рабочий лист на основе значения ячейки с кодом VBA

Если вы хотите перейти к определенному листу после ввода имени листа в ячейку (ячейка A1 на листе 1), вы можете попробовать следующий код VBA.

1. Нажмите другой + F11 для открытия Microsoft Visual Basic для приложений окно.

2. в Microsoft Visual Basic для приложений окна, дважды щелкните имя листа (рабочий лист, который вы введете в имя листа) на левой панели, затем скопируйте и вставьте приведенный ниже код VBA в окно кода. Смотрите скриншот:

Код VBA: выберите конкретный лист на основе значения ячейки

Sub ActivateSheetsByValue()
    On Error Resume Next
    ThisWorkbook.Sheets(Worksheets("Sheet1").Range("A1").Value).Activate
End Sub

3. Вернитесь к рабочему листу и введите имя листа, которое вы хотите выбрать в ячейке A1, и активируйте окно кода, затем нажмите клавишу F5, чтобы запустить код.

Если ячейка A1 в Sheet1 содержит имя листа «Sheet8», после запуска кода VBA она немедленно перейдет на Sheet8.


Легко создавайте индекс листов и переходите к определенному рабочему листу с помощью Kutools for Excel

Если вы просто хотите быстро выбрать или перейти к определенному листу, вы можете попробовать Создать список имен листов полезности Kutools for Excel. С помощью этой утилиты вы можете легко создать указатель листов, а затем быстро перейти к определенному листу, щелкнув имя листа.

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

2. в Создать список имен листов диалоговое окно, выберите Содержит список гиперссылок вариант в Стили указателя листов раздел; введите имя для указателя листа в Укажите имя листа для указателя листов коробка; выберите Перед всеми листами в Вставить указатель листов в раскрывающемся списке. Затем нажмите кнопку OK кнопку.

Внимание: проверить Содержит кнопки и макросы вариант, вы получите индекс листа с кнопкой макросов. Смотрите скриншот:

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

  Если вы хотите получить бесплатную пробную версию (30-день) этой утилиты, пожалуйста, нажмите, чтобы загрузить это, а затем перейдите к применению операции в соответствии с указанными выше шагами.


Легко создавайте индекс листов и переходите к определенному рабочему листу с помощью Kutools for Excel


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

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 вызов sub
  • Vba excel выделить ячейку по координатам
  • Vba excel выделить ячейку по адресу