Vba как выбрать лист excel

Return to VBA Code Examples

In this Article

  • ActiveSheet
    • Activate Worksheet (Setting the ActiveSheet)
    • ActiveSheet Name
  • Selected Sheets vs ActiveSheet
  • Select Worksheet
    • Select Worksheet by Tab Name
    • Select Worksheet by Index Number
    • Select Worksheet With VBA Code Name
    • Select Current Worksheet
  • More Activate / Select Sheet Examples
    • Set ActiveSheet to Variable
    • Change ActiveSheet Name
    • With ActiveSheet
    • Loop Through Selected Sheets
    • GoTo Next Sheet
  • VBA Coding Made Easy

This article will discuss the ActiveSheet object in VBA. It will also discuss how to activate, select, and go to Worksheets (& much more). Read our full VBA Worksheets Guide for more information about working with worksheets in VBA.

ActiveSheet

In VBA, ActiveSheet refers to the currently active Worksheet. Only one Sheet may be active at a time.

Activate Worksheet (Setting the ActiveSheet)

To set the ActiveSheet use Worksheet.Activate:

Worksheets("Input").Activate

The Activate Sheet command will actually “go to” the sheet, changing the visible Sheet.

vba activate sheet

The above example uses the Sheet (Tab) name.  Instead you can use the VBA code name for the worksheet:

Sheet1.Activate

vba activesheet

ActiveSheet Name

To get the ActiveSheet Name:

msgbox ActiveSheet.name

Selected Sheets vs ActiveSheet

At any point in time, only one Sheet can be the ActiveSheet. However, multiple Worksheets can be selected at once.

When multiple Worksheets are selected only the “top-most” Worksheet is considered active (the ActiveSheet).

vba selected sheets

Select Worksheet

If you would like to select a worksheet instead of activating it. Use .Select instead.

Select Worksheet by Tab Name

This selects a Worksheet based on it’s Sheet Tab Name

Sheets("Input").Select

vba select sheet

Select Worksheet by Index Number

This selects a Worksheet based on it’s position relative to other tabs

Worksheets(1).Select

vba select sheet index number

Select Worksheet With VBA Code Name

Sheet1.Select

Selecting worksheets by code name can prevent errors caused by worksheet name changes.

Select Current Worksheet

To select the current Worksheet, use the ActiveSheet object:

ActiveSheet.Select

More Activate / Select Sheet Examples

VBA Programming | Code Generator does work for you!

Set ActiveSheet to Variable

This will assign the ActiveSheet to a Worksheet Object Variable.

Dim ws As Worksheet

Set ws = ActiveSheet

Change ActiveSheet Name

This will change the ActiveSheet Name.

ActiveSheet.Name = "NewName"

With ActiveSheet

Using the With Statement allows you to streamline your code when working with objects (such as Sheets or ActiveSheet).

With ActiveSheet
    .Name = "StartFresh"
    .Cells.Clear
    .Range("A1").Value = .Name
End With

Notice how you don’t need to repeat “ActiveSheet” before each line of code. This can be a huge time saver when working with a long list of commands.

Loop Through Selected Sheets

The following macro will Loop through all selected sheets, displaying their names.

Sub GetSelectedSheetsName()
    Dim ws As Worksheet

    For Each ws In ActiveWindow.SelectedSheets
         MsgBox ws.Name
    Next ws

End Sub

GoTo Next Sheet

This code will go to the next Sheet. If the ActiveSheet is the last Sheet, then it will go to the first Sheet in the Workbook.

If ActiveSheet.Index = Worksheets.Count Then
    Worksheets(1).Activate
Else
    ActiveSheet.Next.Activate
End If

VBA Coding Made Easy

Stop searching for VBA code online. Learn more about AutoMacro – A VBA Code Builder that allows beginners to code procedures from scratch with minimal coding knowledge and with many time-saving features for all users!

Select Activate Worksheet

Learn More!

<<Return to VBA Examples

Содержание

  • 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Конец, если

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

Обращение к рабочим листам Excel из кода VBA. Переименование листов, скрытие и отображение с помощью кода VBA Excel. Свойства Worksheets.Name и Worksheets.Visible.

Обращение к рабочим листам

Рабочий лист (Worksheet) принадлежит коллекции всех рабочих листов (Worksheets) книги Excel. Обратиться к листу можно как к элементу коллекции и, напрямую, по его уникальному имени.

Откройте редактор VBA и обратите внимание на вашу книгу в проводнике, где уникальные имена листов указаны без скобок, а в скобках — имена листов, отображаемые на ярлычках в открытой книге Excel. Уникальные имена листов отсортированы по алфавиту и их расположение по порядку не будет соответствовать их индексам (номерам), если листы перемещались по отношению друг к другу. Индексы листов смотрите по порядку расположения ярлычков в открытой книге. Переместили листы — изменились их индексы.

Обращение к рабочему листу в коде VBA Excel:

‘По уникальному имени

УникИмяЛиста

‘По индексу

Worksheets(N)

‘По имени листа на ярлычке

Worksheets(«Имя листа»)

  • УникИмяЛиста — уникальное имя листа, отображаемое в проводнике редактора VBA без скобок, с помощью кода VBA изменить его невозможно.
  • N — индекс листа от 1 до количества всех листов в книге, соответствует порядковому номеру ярлычка этого листа в открытой книге Excel.
  • Имя листа — имя листа, отображаемое в проводнике редактора VBA в скобках, с помощью кода VBA изменить его можно.

Количество листов в рабочей книге Excel определяется так:

‘В активной книге

Worksheets.Count

‘В любой открытой книге,

‘например, в «Книга1.xlsm»

Workbooks(«Книга1.xlsm»).Worksheets.Count

Переименование листов

В VBA Excel есть некоторые особенности в наименовании листов, так как у рабочего листа есть два свойства, связанных с именем: (Name) и Name. Откройте окно «Properties» в редакторе VBA, нажав клавишу «F4», и выделите любой лист в проводнике. Вы увидите, что в окне «Properties» свойству (Name) в скобках соответствует в проводнике уникальное имя листа без скобок, а свойству Name без скобок соответствует изменяемое имя листа в скобках. Оба имени в окне «Properties» можно редактировать.

С помощью кода VBA Excel можно редактировать только имя листа Name, отображаемое на ярлычке листа и в проводнике без скобок. Для этого используется свойство рабочего листа Worksheets.Name со следующим синтаксисом:

expression.Name

где expression — переменная, представляющая собой объект Worksheet. Смена имени осуществляется путем присвоения нового значения свойству Worksheets.Name.

Допустим, у нас есть лист с уникальным именем (Name) — Лист1, индексом — 1 и именем Name — МойЛист, которое необходимо заменить на имя — Реестр.

Лист1.Name = «Реестр»

Worksheets(1).Name = «Реестр»

Worksheets(«МойЛист»).Name = «Реестр»

Скрытие и отображение листов

Для скрытия и отображения рабочих листов в VBA Excel используется свойство Worksheet.Visible со следующим синтаксисом:

expression.Visible

где expression — переменная, представляющая собой объект Worksheet. Свойству Worksheet.Visible могут присваиваться следующие значения:

  • False — лист становится невидимым, но он будет присутствовать в списке скрытых листов, и пользователь сможет его отобразить с помощью инструментов рабочей книги Excel.
  • xlVeryHidden — лист становится супер невидимым и его не будет в списке скрытых листов, пользователь не сможет его отобразить. Актуально для Excel 2003-2016.
  • True — лист становится видимым.

Аналоги присваиваемых значений:

  • False = xlHidden = xlSheetHidden = 1
  • xlVeryHidden = xlSheetVeryHidden = 2
  • True = xlSheetVisible = -1 (константа xlVisible вызывает ошибку)

Примеры:

Лист1.Visible = xlSheetHidden

Лист2.Visible = 1

Worksheets(Worksheets.Count).Visible = xlVeryHidden

Worksheets(«МойЛист»).Visible = True

Как создать, скопировать, переместить или удалить рабочий лист с помощью кода VBA Excel, смотрите в этой статье.

Содержание

  1. Vba excel выбрать другой лист
  2. Метод Application.Goto (Excel)
  3. Синтаксис
  4. Параметры
  5. Замечания
  6. Пример
  7. Поддержка и обратная связь
  8. VBA Выбрать лист, активировать лист и получить активный лист
  9. ActiveSheet
  10. Активировать рабочий лист (настройка ActiveSheet)
  11. Имя ActiveSheet
  12. Выбранные листы против ActiveSheet
  13. Выберите рабочий лист
  14. Выбрать лист по имени вкладки
  15. Выбрать лист по порядковому номеру
  16. Выберите рабочий лист с кодовым именем VBA
  17. Выбрать текущий лист
  18. Дополнительные примеры активации / выбора листов
  19. Установите ActiveSheet на переменную
  20. Изменить имя ActiveSheet
  21. С ActiveSheet
  22. Перебирать выбранные листы
  23. Перейти к следующему листу
  24. VBA Excel. Рабочий лист (обращение, переименование, скрытие)
  25. Обращение к рабочим листам
  26. Переименование листов
  27. Скрытие и отображение листов
  28. Vba excel выбрать другой лист
  29. Как выбрать конкретный лист на основе значения ячейки на другом листе в Excel?

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

Во-первых, у Вас, похоже, синтаксическая ошибка:
вместо Workbook(1) следует писать Workbooks(1)

Но, как Вам уже посоветовали, лучше вообще не использовать такие конструкции в коде.
Для обращения к активной книге используйте объект ActiveWorkbook,
а для доступа к книге, из которой выполняется код — ThisWorkbook

Далее. Активировать листы, я полагаю, нет ни малейшей необходимости.
Встречаются, конечно, такие случаи, где без активации листа не обойтись, но крайне редко.

В 95 процентах случаев методы Select и Activate абосолютно не нужны.

К тому же, без использования методов Select и Activate код будет работать быстрее и эффективнее

В Вашем случае, проще будет организовать работу с листами таким образом:
(учитывая, что одновременно в цикле обрабатываются в основном 2 листа)

экселю совершенно все равно как будет получен № листа
sheets(1*2+1).activate
sheets(3).activate
sheets(i*2+1).activate, где i = 1.

допускаю workbоok(1) — это не та книга, в которой вы пытаетесь активировать другой лист, и эксель добросовестно в workbbok(1) меняет активность листов. выкиньте workbbok(1) из кода.

Выбрасывал тоже что и при вопросе. Я задумался, что может я не активировал какой-то Project, но тогда почему при set sheet все работает.

Rom1k06 см выше.

EducatedFool Вы гений . такой подход мне нравиться. Сегодня (а может завтра) его попробую. Определить листы заранее. Я до этого как-то не допетрил. только один вопров, можно ли чуть изменить вашу идею следующим образом.
dim sh1(16) as worksheet, sh2(16) as worksheet

далее как у вас только с массивом листов. и это будет прелесть. Только один вопрос как внутри цикла активировать нужный лист. (необходимо клонировать таблицы с ячейки а1 до ячейки AZ54. И провести операции по обработке нужного листа я ранее задавал этот вопрос на форуме (три вопроса по макросам — второй вопрос).

Источник

Метод Application.Goto (Excel)

Выбирает любой диапазон или процедуру Visual Basic в любой книге и активирует ее, если она еще не активна.

Синтаксис

expression. Goto (справочник, прокрутка)

выражение: переменная, представляющая объект Application.

Параметры

Имя Обязательный или необязательный Тип данных Описание
Reference Необязательный Variant Назначение. Может быть объектом Range , строкой, содержащей ссылку на ячейку в нотации в стиле R1C1, или строкой, содержащей имя процедуры Visual Basic. Если этот аргумент опущен, назначение будет последним диапазоном, который использовался для выбора метода Goto .
Scroll Необязательный Variant Значение true для прокрутки окна, чтобы верхний левый угол диапазона отображалось в левом верхнем углу окна. Значение false , чтобы не прокручивать окно. Значение по умолчанию — false.

Замечания

Этот метод отличается от метода Select следующими способами:

Если вы укажете диапазон на листе, который не находится наверху, Microsoft Excel переключится на этот лист, прежде чем выбрать его. (Если вы используете Команду с диапазоном на листе, который не находится сверху, диапазон будет выбран, но лист не будет активирован).

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

При использовании метода Goto предыдущее выделение (перед выполнением метода Goto ) добавляется в массив предыдущих выделенных фрагментов (дополнительные сведения см. в свойстве PreviousSelections ). Используйте эту функцию для быстрого перехода между четырьмя выбранными вариантами.

Метод Select имеет аргумент Replace ; Метод Goto не поддерживает.

Пример

В этом примере выбирается ячейка A154 на листе Лист1, а затем прокручивается лист для отображения диапазона.

Поддержка и обратная связь

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.

Источник

VBA Выбрать лист, активировать лист и получить активный лист

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

ActiveSheet

В 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 является последним листом, он перейдет к первому листу в рабочей книге.

Источник

VBA Excel. Рабочий лист (обращение, переименование, скрытие)

Обращение к рабочим листам Excel из кода VBA. Переименование листов, скрытие и отображение с помощью кода VBA Excel. Свойства Worksheets.Name и Worksheets.Visible.

Обращение к рабочим листам

Рабочий лист (Worksheet) принадлежит коллекции всех рабочих листов (Worksheets) книги Excel. Обратиться к листу можно как к элементу коллекции и, напрямую, по его уникальному имени.

Откройте редактор VBA и обратите внимание на вашу книгу в проводнике, где уникальные имена листов указаны без скобок, а в скобках — имена листов, отображаемые на ярлычках в открытой книге Excel. Уникальные имена листов отсортированы по алфавиту и их расположение по порядку не будет соответствовать их индексам (номерам), если листы перемещались по отношению друг к другу. Индексы листов смотрите по порядку расположения ярлычков в открытой книге. Переместили листы — изменились их индексы.

Обращение к рабочему листу в коде VBA Excel:

  • УникИмяЛиста — уникальное имя листа, отображаемое в проводнике редактора VBA без скобок, с помощью кода VBA изменить его невозможно.
  • N — индекс листа от 1 до количества всех листов в книге, соответствует порядковому номеру ярлычка этого листа в открытой книге Excel.
  • Имя листа — имя листа, отображаемое в проводнике редактора VBA в скобках, с помощью кода VBA изменить его можно.

Количество листов в рабочей книге Excel определяется так:

Переименование листов

В VBA Excel есть некоторые особенности в наименовании листов, так как у рабочего листа есть два свойства, связанных с именем: (Name) и Name. Откройте окно «Properties» в редакторе VBA, нажав клавишу «F4», и выделите любой лист в проводнике. Вы увидите, что в окне «Properties» свойству (Name) в скобках соответствует в проводнике уникальное имя листа без скобок, а свойству Name без скобок соответствует изменяемое имя листа в скобках. Оба имени в окне «Properties» можно редактировать.

С помощью кода VBA Excel можно редактировать только имя листа Name, отображаемое на ярлычке листа и в проводнике без скобок. Для этого используется свойство рабочего листа Worksheets.Name со следующим синтаксисом:

expression.Name

где expression — переменная, представляющая собой объект Worksheet. Смена имени осуществляется путем присвоения нового значения свойству Worksheets.Name.

Допустим, у нас есть лист с уникальным именем (Name) — Лист1, индексом — 1 и именем Name — МойЛист, которое необходимо заменить на имя — Реестр.

Скрытие и отображение листов

Для скрытия и отображения рабочих листов в VBA Excel используется свойство Worksheet.Visible со следующим синтаксисом:

expression.Visible

где expression — переменная, представляющая собой объект Worksheet. Свойству Worksheet.Visible могут присваиваться следующие значения:

  • False — лист становится невидимым, но он будет присутствовать в списке скрытых листов, и пользователь сможет его отобразить с помощью инструментов рабочей книги Excel.
  • xlVeryHidden — лист становится супер невидимым и его не будет в списке скрытых листов, пользователь не сможет его отобразить. Актуально для Excel 2003-2016.
  • True — лист становится видимым.

Аналоги присваиваемых значений:

  • False = xlHidden = xlSheetHidden = 1
  • xlVeryHidden = xlSheetVeryHidden = 2
  • True = xlSheetVisible = -1 (константа xlVisible вызывает ошибку)

Источник

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

Как выбрать конкретный лист на основе значения ячейки на другом листе в Excel?

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

The Kutools for Excel‘s Create List of Sheet Names utility helps you easily create sheets index with hyperlink and shift to certain worksheet in Excel. See below screenshot:

Kutools for Excel includes more than 300 handy Excel tools. Free to try with no limitation in 60 days. Read More Download the free trial now

Удивительный! Использование эффективных вкладок в Excel, таких как Chrome, Firefox и Safari!
Экономьте 50% своего времени и сокращайте тысячи щелчков мышью каждый день!

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Перед применением Kutools for Excel, Пожалуйста, сначала скачайте и установите.

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

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

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

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

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

Источник

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

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