Как добавить вкладку vba excel в excel

Обновлено: 29.06.2024

При использовании рабочей книги, содержащей код VBA, вы можете добавить кнопку макроса, чтобы другим пользователям Excel было проще запускать код, не зная кода VBA. Пользователи Excel Основы Excel - формулы для финансов Вы ищете ускоренный курс Excel? Получите бесплатное обучение Excel для карьеры в области корпоративных финансов и инвестиционно-банковской деятельности от Института корпоративных финансов. используйте такие кнопки для быстрого доступа к большинству макросов на листе.

Добавление кнопок на лист поможет предоставить другим пользователям доступ к пользовательским функциям вашей книги. При нажатии кнопки VBA автоматически активируется макрос, что устраняет необходимость использования вкладки "Разработчик" для создания макросов или доступа к ним.

Типы кнопок VBA для рабочих листов

1. Кнопки управления формой

Управление формой — это один из основных способов создания кнопки, которая запускает макрос, когда пользователь нажимает на нее. Она работает так же, как кнопки управления ActiveX, но отличается в нескольких аспектах.

Кнопки управления формой создают впечатление нажатия, когда пользователь нажимает на них, а их внешний вид напоминает кнопки, используемые в более ранних версиях MS Windows. Кнопки позволяют пользователям изменять тип, размер и цвет шрифта. Однако цвет кнопки изменить нельзя.

Чтобы создать кнопку управления формой, выполните следующие действия:

  1. Перейдите на вкладку "Разработчик" и нажмите "Вставить" в разделе "Управление".
  2. Нажмите кнопку "Вставить" в раскрывающемся списке.
  3. Поместите курсор в то место листа, где вы хотите создать кнопку.
  4. Появится всплывающее окно. Нажмите «Назначить макрос» и подтвердите.
  5. После создания кнопки щелкните ее правой кнопкой мыши и выберите "Управление формами". Он позволяет управлять свойствами кнопки.

Чтобы изменить метку кнопки, щелкните ее правой кнопкой мыши и выберите "Редактировать текст" в раскрывающемся списке. Вы также можете переназначить макрос, щелкнув параметр «Назначить макрос» в раскрывающемся списке.

2. Кнопка управления ActiveX

Кнопки управления ActiveX — лучшая альтернатива кнопкам управления формами, и они предоставляют больше возможностей форматирования, чем последние. При создании кнопок с помощью ActiveX пользователи должны добавить макрос события в модель листа. Макрос будет запущен при нажатии макроса.

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

Выполните следующие действия, чтобы создать кнопку управления ActiveX:

  1. Откройте вкладку "Разработчик" и перейдите в раздел "Управление". Нажмите «Вставить» и перейдите к элементам управления ActiveX.
  2. Нажмите первую кнопку под элементами управления ActiveX (кнопка Command).
  3. Поместите курсор в то место на листе, где вы хотите разместить кнопку.
  4. Чтобы создать макрос, нажмите «Просмотреть код» в группе «Элементы управления» на вкладке «Разработчик», чтобы запустить редактор VBA. Выберите CommandButton1 в подпроцедуре (слева). Нажмите Щелкните раскрывающийся список в правой части окна редактора VBA.
  5. В подпроцедуре введите имя существующего макроса или создайте собственный код VBA. Вы можете найти существующие макросы в книге, щелкнув «Макросы» в разделе «Код». Вы можете добавить несколько макросов, введя имя каждого макроса в отдельной строке в редакторе VBA.
  6. Нажмите на режим «Дизайн», чтобы отключить его и закрыть редактор VBA перед запуском кода VBA. Затем создайте кнопку ActiveX на листе, чтобы запустить макрос.
  7. Чтобы изменить свойства кнопки, выберите параметр «Свойства» в разделе группы «Элементы управления». Либо нажмите кнопку правой кнопкой мыши и выберите "Свойства" в раскрывающемся списке.

3. Фигуры Excel

Помимо создания кнопок на вкладке "Разработчик", пользователи Excel могут использовать фигуры Excel для создания кнопок. Преимущество использования фигур Excel по сравнению с кнопками управления формами или кнопками управления ActiveX заключается в том, что фигуры допускают большинство параметров форматирования и стиля. Вы можете изменить цвет, дизайн и шрифт кнопки, чтобы кнопки выглядели современно.

Вот шаги по созданию кнопки в Excel с помощью фигур Excel:

  1. Перейдите на вкладку "Вставка" и выберите "Фигуры".
  2. Выберите предпочтительную форму кнопки (мы выбрали прямоугольник со скругленными углами).
  3. Перетащите выбранную фигуру в нужное место на листе, чтобы задать размер фигуры.
  4. Нажмите кнопку правой кнопкой мыши и выберите "Редактировать текст", чтобы изменить название кнопки. Вы также можете отформатировать кнопку с помощью инструментов, доступных на вкладке "Главная".
  5. Чтобы указать макрос, нажмите кнопку правой кнопкой мыши и выберите "Назначить макрос".
  6. Выберите макрос в списке «Эта книга», чтобы сделать макросы доступными для других пользователей, использующих книгу. Нажмите OK, чтобы подтвердить макрос.
  7. Нажмите кнопку, чтобы запустить макрос.

Дополнительные ресурсы

Благодаря курсам, тренингам и упражнениям по бизнес-аналитике и анализу данных любой человек в мире может стать отличным аналитиком. Для дальнейшего продвижения по карьерной лестнице вам будут полезны следующие дополнительные ресурсы CFI:

Итог. Узнайте, как включить вкладку "Разработчик" на ленте, чтобы получить доступ к часто используемым функциям для макросов, VBA и надстроек. Работает во всех версиях Excel для Windows (Excel 2007, Excel 2010, Excel 2013, Excel 2016, Excel 2019 и Office 365).

Уровень навыков: начинающий

Вкладка "Разработчик"

Вкладка "Разработчик" обеспечивает быстрый доступ к некоторым более продвинутым возможностям и функциям, доступным в Excel. По умолчанию вкладка «Разработчик» скрыта, но ее можно быстро и легко отобразить, и я описал шаги ниже.

Хорошая новость заключается в том, что вам нужно выполнить эти шаги только один раз. Затем при каждом последующем открытии Excel для вас будет отображаться вкладка "Разработчик".

Как включить вкладку "Разработчик"

Чтобы добавить вкладку "Разработчик", очень просто.

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

Что находится на вкладке "Разработчик"?

После того как вы открыли вкладку "Разработчик", некоторые из параметров, которые вы найдете на ней, включают:

  • Visual Basic — запускает редактор VB. (Вы также можете сделать это с помощью сочетания клавиш Alt + F11.)
  • Макросы. Мы можем получить список всех макросов, с которыми можно работать. (Соответствующее сочетание клавиш для этого — Alt + F8.) У нас также есть возможность записывать новые макросы на вкладке «Разработчик».
  • Надстройки. Мы можем вставлять надстройки Excel и COM и управлять ими.
  • Элементы управления. Мы также можем вставлять элементы управления на лист, изменять свойства элементов управления, редактировать код VB для элемента управления, а также включать и выключать режим разработки.
  • XML. Здесь можно открыть панель задач «Источник XML» для управления картами XML, импорта файла данных XML или управления любыми пакетами расширения, которые могут быть прикреплены к листу, с которым мы работаем.

В зависимости от вашего уровня навыков вы можете не использовать все эти функции, и это нормально. Никогда не помешает знать, что вам доступно, и иметь доступ к имеющимся в вашем распоряжении инструментам. Тот факт, что вы не являетесь разработчиком по профессии, не обязательно означает, что вы не хотите использовать вкладку «Разработчик». 🙂

Лично я чаще всего использую вкладку "Разработчик" для макросов VBA. Я написал пост с изложением 18 советов и способов сэкономить время при написании макросов VBA для Excel (или других приложений Office, если на то пошло). Вы можете проверить это здесь.

Надеюсь, это поможет! Не стесняйтесь оставлять комментарии, если у вас есть какие-либо отзывы или вопросы.

Помимо ячеек и диапазонов, работа с листами — это еще одна область, о которой вам следует знать, чтобы эффективно использовать VBA в Excel.

Как и любой объект в VBA, рабочие листы имеют различные свойства и связанные с ними методы, которые можно использовать при автоматизации работы с VBA в Excel.

В этом руководстве я подробно расскажу о рабочих листах, а также покажу вам несколько практических примеров.

Итак, приступим.

Все коды, которые я упоминаю в этом руководстве, необходимо поместить в редактор VB. Перейдите в раздел «Куда поместить код VBA», чтобы узнать, как это работает.

Если вы заинтересованы в простом изучении VBA, ознакомьтесь с моим онлайн-обучением Excel VBA.

Это руководство охватывает:

Разница между рабочими листами и листами в VBA

В VBA у вас есть две коллекции, которые иногда могут немного сбивать с толку.

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

Объект рабочих листов в Excel VBA — 1 лист диаграммы

  • Коллекция «Рабочие листы» будет относиться к коллекции всех объектов рабочего листа в книге. В приведенном выше примере коллекция Worksheets будет состоять из трех листов.
  • Коллекция «Листы» будет относиться ко всем рабочим листам, а также к листам диаграмм в рабочей книге. В приведенном выше примере он будет состоять из четырех элементов: 3 рабочих листа + 1 лист диаграммы.

Если у вас есть рабочая книга, в которой есть только рабочие листы и нет листов диаграмм, коллекции "Рабочие листы" и "Листы" совпадают.

Но если у вас есть один или несколько листов диаграмм, коллекция "Листы" будет больше, чем коллекция "Рабочие листы".

Листы = рабочие листы + листы диаграмм

Коллекция рабочих листов и коллекция листов

С учетом этого различия я рекомендую быть как можно более конкретным при написании кода VBA.

Поэтому, если вам нужно обратиться только к рабочим листам, используйте коллекцию «Рабочие листы», а если вам нужно обратиться ко всем листам (включая листы диаграмм), используйте коллекцию «Листы».

В этом уроке я буду использовать только коллекцию «Рабочие листы».

Ссылка на рабочий лист в VBA

Существует множество различных способов обращения к рабочему листу в VBA.

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

Использование имени рабочего листа

Самый простой способ сослаться на рабочий лист — использовать его имя.

Например, предположим, что у вас есть книга с тремя листами — Лист 1, Лист 2, Лист 3.

И вы хотите активировать Лист 2.

Приведенный выше код запрашивает у VBA ссылку на Sheet2 в коллекции Worksheets и активирует его.

Поскольку мы используем точное имя листа, здесь также можно использовать коллекцию Sheets. Таким образом, приведенный ниже код также будет делать то же самое.

Использование порядкового номера

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

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

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

Предположим, у вас есть следующие листы в книге:

Объект рабочих листов в Excel VBA — 1 лист диаграммы

Приведенный ниже код активирует Sheet2:

Обратите внимание, что мы использовали индекс 2 в Worksheets(2). Это будет относиться ко второму объекту в коллекции рабочих листов.

Что происходит, когда вы используете 3 в качестве порядкового номера?

Будет выбран Лист3.

Если вам интересно, почему был выбран Sheet3, так как это явно четвертый объект.

Это происходит потому, что лист диаграммы не является частью коллекции рабочих листов.

Номера индексов в коллекции рабочих листов в VBA

Поэтому, когда мы используем порядковые номера в коллекции Worksheets, они будут ссылаться только на рабочие листы в рабочей книге (и игнорировать листы диаграмм).

Наоборот, если вы используете Таблицы, Листы(1) будут ссылаться на Листы1, Листы(2) будут ссылаться на Лист2, Листы(3) будут ссылаться на Диаграмму1, а Листы(4) будут ссылаться на Лист3.

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

Примечание. Номер индекса идет слева направо. Таким образом, если вы переместите Лист2 влево от Листа1, то Рабочие листы(1) будут ссылаться на Лист2.

Использование кодового имени рабочего листа

Один из недостатков использования имени листа (как мы видели в разделе выше) заключается в том, что пользователь может изменить его.

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

Чтобы решить эту проблему, вы можете использовать кодовое имя рабочего листа (вместо обычного имени, которое мы использовали до сих пор). Кодовое имя может быть назначено в редакторе VB Editor и не меняется при изменении имени листа в области рабочего листа.

Чтобы присвоить рабочему листу кодовое имя, выполните следующие действия:

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

Объект рабочих листов в Excel VBA - кодовое имя и имя листа

На изображении выше имя листа — «SheetName», а кодовое имя — «CodeName».Даже если вы измените имя листа на рабочем листе, кодовое имя останется прежним.

Теперь вы можете использовать коллекцию Worksheets для ссылки на рабочий лист или использовать кодовое имя.

Например, обе строки активируют рабочий лист.

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

Ссылка на лист в другой книге

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

Например, если у вас есть книга с названием "Примеры" и вы хотите активировать Лист1 в книге "Примеры", вам нужно использовать следующий код:

Обратите внимание, что если книга была сохранена, необходимо использовать имя файла вместе с расширением. Если вы не знаете, какое имя использовать, обратитесь за помощью к Project Explorer.

Объект рабочих листов в Excel VBA — имя файла в проводнике проекта

Если книга не была сохранена, вам не нужно использовать расширение файла.

Добавление рабочего листа

Приведенный ниже код добавит рабочий лист (как первый рабочий лист, т. е. крайний левый лист на вкладке листа).

Он принимает имя по умолчанию Лист2 (или любое другое число в зависимости от того, сколько листов уже существует).

Если вы хотите, чтобы рабочий лист был добавлен перед определенным рабочим листом (скажем, Sheet2), вы можете использовать приведенный ниже код.

Приведенный выше код указывает VBA добавить лист, а затем использует оператор «До», чтобы указать рабочий лист, перед которым должен быть вставлен новый рабочий лист.

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

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

Удаление рабочего листа

Приведенный ниже код удалит активный лист из книги.

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

Объект рабочих листов в Excel VBA - предупреждение

Если вы не хотите видеть предупреждение, используйте следующий код:

Если для Application.DisplayAlerts задано значение False, предупреждение не будет отображаться. Если вы используете его, не забудьте установить для него значение True в конце кода.

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

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

Вы также можете использовать кодовое имя листа, чтобы удалить его.

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

Вы можете изменить свойство имени рабочего листа, чтобы изменить его имя.

Следующий код изменит имя Листа 1 на «Сводка».

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

Например, если вы хотите вставить четыре листа с названиями 1 квартал 2018 г., 2 квартал 2018 г., 3 квартал 2018 г. и 4 квартал 2018 г., вы можете использовать приведенный ниже код.

В приведенном выше коде мы сначала подсчитываем количество листов, а затем используем цикл For Next для вставки новых листов в конце. При добавлении листа код также переименовывает его.

Присвоение объекта рабочего листа переменной

При работе с рабочими листами вы можете назначить рабочий лист объектной переменной, а затем использовать эту переменную вместо ссылок на рабочий лист.

Например, если вы хотите добавить префикс года ко всем рабочим листам, вместо того, чтобы подсчитывать листы и запускать цикл столько раз, вы можете использовать объектную переменную.

Вот код, который добавит 2018 в качестве префикса ко всем именам рабочих листов.

Приведенный выше код объявляет переменную Ws в качестве типа рабочего листа (используя строку «Dim Ws As Worksheet»).

Теперь нам не нужно считать количество листов, чтобы просмотреть их. Вместо этого мы можем использовать цикл «Для каждого W в рабочих листах». Это позволит нам просмотреть все листы в коллекции рабочих листов. Неважно, 2 листа или 20 листов.

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

В приведенном ниже коде мы назначаем переменную Ws для Sheet2 и используем ее для доступа ко всем свойствам Sheet2.

После того как вы установили ссылку рабочего листа на объектную переменную (с помощью инструкции SET), этот объект можно использовать вместо ссылки на рабочий лист. Это может быть полезно, когда у вас длинный сложный код и вы хотите изменить ссылку. Вместо того, чтобы вносить изменения везде, вы можете просто внести изменения в оператор SET.

Обратите внимание, что код объявляет объект Ws как переменную типа Worksheet (используя строку Dim Ws как Worksheet).

Скрыть рабочие листы с помощью VBA (скрытый + очень скрытый)

Скрыть и отобразить рабочие листы в Excel — простая задача.

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

Объект рабочих листов в Excel VBA — показать макрос правой кнопкой мыши

Но что, если вы не хотите, чтобы они могли отображать рабочие листы.

Это можно сделать с помощью VBA.

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

В приведенном выше коде свойство Ws.Visible изменено на xlSheetVeryHidden.

  • Если для свойства Visible задано значение xlSheetVisible, лист виден в области листа (как вкладки листа).
  • Если для свойства Visible задано значение xlSheetHidden, лист скрыт, но пользователь может отобразить его, щелкнув правой кнопкой мыши на любой вкладке листа.
  • Если для свойства Visible задано значение xlSheetVeryHidden, лист скрыт, и его нельзя отобразить в области рабочего листа. Вам нужно использовать код VBA или окно свойств, чтобы отобразить его.

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

Приведенный ниже код покажет все рабочие листы (как скрытые, так и очень скрытые).

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

Предположим, у вас есть несколько листов с названиями разных отделов или годов, и вы хотите скрыть все листы, кроме тех, в которых указан 2018 год.

Это можно сделать с помощью функции VBA INSTR.

Приведенный ниже код скроет все листы, кроме тех, которые содержат текст 2018.

В приведенном выше коде функция INSTR возвращает позицию символа, в которой она находит совпадающую строку. Если совпадающая строка не найдена, возвращается 0.

Приведенный выше код проверяет, содержит ли имя текст 2018. Если это так, ничего не происходит, иначе лист скрыт.

Вы можете пойти еще дальше, поместив текст в ячейку и используя эту ячейку в коде. Это позволит вам иметь значение в ячейке, а затем, когда вы запустите макрос, все листы, кроме одного с совпадающим текстом в нем, останутся видимыми (вместе с листами, где вы вводите значение в поле). ячейка).

Сортировка рабочих листов в алфавитном порядке

С помощью VBA вы можете быстро сортировать рабочие листы по их именам.

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

Обратите внимание, что этот код хорошо работает с текстовыми именами, а в большинстве случаев также с годами и числами. Но это может дать вам неправильные результаты, если у вас есть имена листов 1,2,11. Он отсортирует и выдаст вам последовательность 1, 11, 2. Это потому, что он выполняет сравнение как текст и считает, что 2 больше, чем 11.

Защитить/снять защиту сразу со всех листов

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

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

Следующий код снимает защиту сразу со всех листов.

Создание оглавления всех рабочих листов (с гиперссылками)

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

Приведенный выше код вставляет новый рабочий лист и называет его индексом.

Затем он перебирает все рабочие листы и создает гиперссылку для всех рабочих листов на индексном листе.

Где разместить код VBA

Хотите узнать, где находится код VBA в вашей книге Excel?

Excel имеет серверную часть VBA, которая называется редактором VBA.Вам необходимо скопировать и вставить код в окно кода модуля VB Editor.

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

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

Для этого вам нужно использовать метод Sheets.Add, и в этом посте мы узнаем, как использовать его для добавления одного или нескольких листов в книгу.

Метод Sheets.Добавить

Напишите код VBA для ДОБАВЛЕНИЯ нового листа в книгу

Откройте редактор Visual Basic и выполните следующие действия.

  • Во-первых, необходимо ввести метод Sheets.Add.
  • Затем вам нужно определить место для добавления нового листа (до или после).
  • Следующее — ввести количество рабочих листов.
  • В конце концов, тип листа.


Различные способы добавления новых листов в книгу с помощью кода VBA

Ниже приведены различные способы добавления нового листа в книгу:

1. Добавить один лист

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

Этот код указывает Excel добавить лист в активную книгу, но, поскольку у вас нет аргументов, он будет использовать значения по умолчанию и добавит один рабочий лист (xlWorksheet) перед активным листом.

Еще один способ написать это, посмотрите приведенный ниже код.

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

2. Добавить несколько листов

Чтобы добавить несколько листов за один раз, вам просто нужно определить аргумент COUNT с количеством листов, которые вы хотите добавить.

Теперь количество листов, которые вы определили, равно 5, поэтому при запуске этого кода он мгновенно добавляет пять новых листов в книгу.

3. Добавить лист с именем

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

В приведенном выше коде мы использовали объект имени (ССЫЛКА), который помогает вам указать имя листа.

4. Добавить лист с именем из ячейки

Вы также можете взять значение для использования в качестве имени листа из ячейки.

В приведенном выше коде ячейка A1 используется для получения имени нового листа.

5. Добавить лист после/перед определенным листом

Поскольку эти аргументы уже есть в Sheets.Add, где вы можете указать лист для добавления нового листа до или после него.

Теперь в приведенном выше коде у вас есть две строки кода, где вы использовали до и после аргумента в методе Sheet.Add. Итак, когда вы запускаете этот код, он добавляет два листа, один перед и один после «mySheet».

6. Добавить новый лист в начале

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

По сути, мы собираемся указать номер листа вместо имени листа.

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

7. Добавить новый лист в конце (после последнего листа)

Для добавления нового листа в конце нужно написать код по-другому. Итак, для этого вам нужно знать, сколько листов в книге, чтобы вы могли добавить новый лист в конце.

В приведенном выше коде Sheet.Count возвращает количество листов, которые есть в вашей книге, и, поскольку вы определили аргумент after, он добавляет новый лист после последнего листа в книге.

8. Добавить несколько листов и использовать имена из диапазона

Следующий код подсчитывает строки из диапазона A1:A7. После этого он циклически добавляет листы в соответствии со счетчиком из диапазона и использует значения из диапазона имени листа при его добавлении.

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

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

Если выполняются оба условия, то следует добавить новый лист. Позвольте мне разделить это на два шага:

Во-первых, вам нужно написать определяемую пользователем функцию Excel, чтобы проверить, существует ли уже лист с таким именем или нет.

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

Теперь в приведенном выше коде вы использовали оператор VBA IF, и в этом операторе у вас есть функция проверки листа, которая проверяет имя листа, а затем у вас есть условие, чтобы проверить, имеет ли ячейка имени пустое значение.

Читайте также: