Добавить лист vba: Как добавить новый лист и присвоить имя в Excel пошаговое руководство
Содержание
Каждому пользователю свой лист/диапазон
Хитрости »
12 Июнь 2012 Дмитрий 191037 просмотров
Основные понятия (26) Сводные таблицы и анализ данных (10) Графики и диаграммы (5) Работа с VB проектом (12) Power BI и Power Query (22) |
Условное форматирование (5) Списки и диапазоны (5) Макросы(VBA процедуры) (68) Разное (43) Баги и глюки Excel (4) |
Очень часто на своих тренингах и в форумах я слышу вопрос: как защитить доступ к книге так, чтобы для каждого пользователя был доступен только свой лист/листы? А другие ячейки или листы были недоступны для изменения или просмотра? Или скрыть отдельные столбцы с глаз пользователя? Часть подобного функционала предоставляется стандартными средствами Excel, а другая(например, доступность просмотра только конкретных листов) достигается только через макросы. В этой статье хочу привести несколько примеров реализации подобных разграничений прав между пользователями, их плюсы и минусы.
- Разграничение доступа к ячейкам стандартными средствами
Разграничение прав доступа при помощи VBA
- Доступ пользователям только к определенным листам
- Доступ пользователю к определенным листам и возможность изменять только отдельные ячейки
- Доступ к определенным листам и скрытие указанных строк/столбцов
- Практический пример с использованием администратора
Разграничение доступа к ячейкам стандартными средствами
Для разграничения доступа к ячейкам на листе можно воспользоваться инструментом Разрешить изменение диапазонов(Allow Users to Edit Ranges), расположенном на вкладке Рецензирование(Review), группа Изменения(Changes):
Это стандартный инструмент, для использования которого нет необходимости подключать что-то дополнительно и он относительно прост в использовании.
Данный инструмент позволяет назначить каждому отдельному диапазону ячеек свои пароли, диапазоны могут располагаться на разных листах книги или на одном листе:
Например, сотрудники коммерческого отдела в общем файле бюджета(картинка выше) должны иметь возможность заполнять только ячейки строк со статьями выручки (строки 8-11, 13-14), а производственный отдел строки 18-22, в которых расположены статьи по расходам производственного отдела. При этом сотрудники коммерческого отдела не должны иметь возможность изменять данные статей другого отдела – каждый только данные своих статей.
Для начала необходимо для сотрудников каждого отдела создать отдельные диапазоны, к которым они будут иметь доступ. Для этого переходим на вкладку Рецензирование(Review) -группа Изменения(Changes) —Разрешить изменение диапазонов(Allow Users to Edit Ranges). Появится диалоговое окно создания/изменения диапазонов:
Нажимаем Создать(New). Появится другое окно, в котором необходимо указать имя диапазона
(Title) (
коммерческий), доступные для изменения ячейки
(Refers to cells) (
C8:N11;C13:N14) и вписать пароль
(Range password) (
1111):
После нажатия Ок появится окно подтверждения пароля. Необходимо указать тот же пароль, что был указан ранее для данного диапазона.
Примечание: если нажать на кнопку Разрешения(Permissions), то можно установить доступ без пароля для конкретных групп пользователей, если группы настроены политикой доменной сети.
Точно так же создаем второй диапазон – «производственный», но для него указываем другой пароль(например –
2222). После этого у нас в главном окне управления диапазонами будет два диапазона:
Здесь можно еще раз проверить все ли правильно указано, при необходимости изменить (так же изменить диапазоны можно в любое время, вызвав данное окно с вкладки Рецензирование(Review) —Разрешить изменение диапазонов). После этого нажимаем Применить(Apply).
Теперь, чтобы такая защита сработала необходимо непосредственно защитить лист. Это можно сделать либо сразу из этого же окна, нажав кнопку Защитить лист, либо закрыв окно перейти на вкладку Рецензирование(Review) и в группе Изменения(Changes) выбрать Защитить лист(Protect sheet):
В появившемся окне проставляем галочки для тех действий, которые мы хотим разрешить делать пользователю на защищенном листе без ввода пароля(например, на картинке выше помимо стандартного выделения ячеек разрешена вставка столбцов. Подробнее про защиту листов и ячеек можно прочитать в статье — Защита листов и ячеек в MS Excel). Указываем пароль (например
3333), подтверждаем пароль в появившемся окне и нажимаем Ок. Лист защищен.
Что важно: не следует указывать здесь пароль, который совпадает хотя бы с одним из паролей для отдельных диапазонов. Думаю, понятно почему: чтобы защиту не могли снять те, кому этого не положено делать.
Теперь остается сообщить сотрудникам отделов их пароли: производственный — 2222, коммерческий – 1111.
При первой попытке изменить данные в ячейках C8:N11;C13:N14- будет запрошен пароль на изменение ячеек созданного диапазона «коммерческий» (1111):
Если пользователю известен пароль для диапазона – его необходимо будет ввести лишь один раз. В дальнейшем для ввода данных в ячейки этого диапазона вводить пароль не придется до тех пор, пока файл не будет закрыт. После повторного открытия файла пароль необходимо будет указать заново.
Однако, если сотрудник другого отдела попытается изменить ячейки производственного отдела и пароль ему неизвестен – изменить данные этих ячеек не получится.
Также ни сотрудники коммерческого отдела, ни сотрудники производственного отдела не смогут изменить данные столбцов А и В(№ и наименование статьи), заголовки таблицы(строки с 1-ой по 7-ю) и строки с итоговыми формулами (12, 15 и т.д. – закрашенные зеленым). Они смогут изменять только те ячейки, которые перечислены в назначенных каждому отделу диапазонах. Внести данные в другие ячейки(не перечисленные в разрешенных диапазонах) можно будет исключительно сняв общий доступ с книги, а после этого защиту с листа –Рецензирование(Review) -группа Изменения(Changes) —Снять защиту листа(Unprotect sheet). Но снять общую защиту сможет только тот, кто её создавал и кому известен «главный» пароль. Как правило это администратор или некий «смотрящий» файла и другие пользователи этот пароль не знают.
Плюс подобного метода в том, что такая защита может быть установлена для книги в общем доступе(подробнее про книги с общим доступом можно прочитать в статье — Ведение журнала сделанных в книге изменений).
Что необходимо учитывать для книг с общим доступом: создавать диапазоны для пользователей и устанавливать защиту на лист необходимо ДО назначения книге общего доступа, т.к. после того, как книге будет назначен общий доступ изменять параметры защиты листов и книги запрещено. При этом запрещены как установка защиты так и её снятие.
Минус данного метода в том, что нет дружественного интерфейса снятия защиты. Например, при попытке изменить какие-то ячейки одного из назначенных диапазонов нет никакой информации о том, что это за диапазон(коммерческий или производственный). Что в свою очередь может запутать пользователя. Так же данным методом невозможно скрыть листы, либо отдельные строки и столбцы. Можно лишь запретить изменение ячеек.
Разграничение прав доступа при помощи VBA
Самый большой минус всех методов ниже: они
не будут работать при отключенных макросах(Что такое макрос и где его искать?). Во всех приложенных к статье файлах это предусмотрено и если макросы будут отключены, то пользователь увидит лист, предлагающий включить макросы. Подробнее см. в статье: Как запустить файл с включенными макросами?
Плюс подобного подхода — мы практически не ограничены в правилах: можем скрывать от отдельных пользователей любые листы, строки и столбцы, защищать отдельные ячейки и т.п. Я ниже приведу несколько вариантов реализации защиты кодами, а вам останется лишь выбрать тот, который больше подходит под задачу. Первые три больше демонстрационные, чтобы показать что можно сделать. А вот последний пример — Практический пример с использованием администратора — наиболее приближен к задачам, применяемым в работе и наиболее удобен для распространения среди пользователей.
Проект VBA во всех файлах открыт для просмотра и изменений. Однако перед распространением решений в реальности лучше его закрыть от просмотра и изменений — Как защитить проект VBA паролем.
Важно: приведенные ниже решения могут работать некорректно в книгах с общим доступом. А те решения, в которых устанавливается защита на листы вообще не будут работать, т. к. для книг с общим доступом невозможно изменять параметры защиты листов и книг.
- Доступ пользователям только к определенным листам
Исходная задача: дать возможность пользователю видеть и работать только на определенных листах — тех, которые мы ему выделили. При этом он даже не подозревает, что есть другие листы. Как работает. Открываем файл — автоматом отображается лишь один лист «Main», доступный всем пользователям, жмем на кнопку, появляется форма:В форме необходимо выбрать пользователя и указать пароль, соответствующий этому пользователю. Важно: Пароли и список доступных листов можно редактировать на очень скрытом листе «Users». Для каждого пользователя можно указать несколько листов. Указывать имена листов необходимо в точности такие же, какие они на самом деле. Это значит, что и регистр букв и каждый пробел должен быть учтен. Для разделения записей с несколькими листами используется точка-с-запятой(Лист1;Лист2;Лист3).
На листе «Main» перечислены имена пользователей, пароли для них и доступные для просмотра листы. Данная информация указаны только для ознакомления и тестов. Менять данные для реальных задач необходимо на листе «Users».Важно: файл может работать нестабильно в книгах с общим доступом.
Скачать пример
Tips_Macro_Sheets_for_Users.xls (84,5 KiB, 10 705 скачиваний)
- Доступ пользователю к определенным листам и возможность изменять только отдельные ячейки
Помимо того, что можно ограничить пользователю свободу выбора листов, ему можно еще и ограничить диапазоны ячеек, которые ему разрешено изменять. Иначе говоря, человек сможет работать только на Лист1 и Лист2 и вносить изменения только в указанные для каждого из листов ячейки. Файл с примером работает так же, как и пример выше: открываем книгу — видим только один лист «Main», жмем кнопку. Появляется форма, выбираем пользователя. Появятся только разрешенные листы и на этих листах можно изменять только те ячейки, который мы разрешим в настройках. При этом диапазоны для изменения можно указать для каждого листа разные. Важно: Пароли, список доступных листов и диапазонов можно редактировать на очень скрытом листе «Users». Для этого его необходимо отобразить, как описано в статье: Как сделать лист очень скрытым.
Чтобы разрешить изменять диапазоны на Лист1 — А1:А10 и А15:А20, а на Лист2 — В1:В10 и В15:В20, необходимо на листе «Users» указать листы: Лист1;Лист2 и диапазоны: A1:A10,A15:A20;B1:B10,B15:B20
На листе «Main» пароли и фамилии указаны только для ознакомления и тестов. Менять данные для реальных задач необходимо на листе «Users».
Пароль на листы указывается напрямую в коде. Для изменения пароля необходимо перейти в редактор VBA(Alt+F11), раскрыть папку Modules, выбрать там модуль sPublicVars и изменить значение 1234 в строке: Public Const sPWD As String = «1234»:Важно: защита диапазонов достигается за счет установки защиты листа. Поэтому файл не будет работать в книгах с общим доступом.
Скачать пример
Tips_Macro_Sheets_Rng_for_Users.xls (86,0 KiB, 4 936 скачиваний)
- Доступ к определенным листам и скрытие указанных строк/столбцов
И еще чуть-чуть испортим жизнь пользователю: каждому пользователю видны только свои листы и виден только свой диапазон на этом листе. Точнее — строка или столбец. Все так же, как и в файлах выше(Пароли, список доступных листов и диапазонов можно редактировать на очень скрытом листе «Users». Для этого его необходимо отобразить, как описано в статье: Как сделать лист очень скрытым).
На листе «Users» доступны следующие настройки: в самом правом столбце необходимо указать скрывать столбцы(C) или строки(R) указанного диапазона.
Например, указаны диапазоны на Лист1 — А1:А10 и А15:А20, а на Лист2 — В1:В10 и В15:В20, а в правом столбце — R;C. Значит на Лист1 будут скрыты строки 1:10, 15:20, а на Лист2 столбец В. Почему так заумно? Потому что нельзя скрыть только отдельные ячейки — можно скрыть лишь столбцы или строки полностью.
На листе «Main» пароли и фамилии указаны только для ознакомления и тестов. Менять данные для реальных задач необходимо на листе «Users».
Пароль на листы указывается напрямую в коде. Для изменения пароля необходимо перейти в редактор VBA(Alt+F11), раскрыть папку Modules, выбрать там модуль sPublicVars и изменить значение 1234 в строке: Public Const sPWD As String = «1234»:Важно: защита отображения скрытых строк и столбцов достигается за счет установки защиты листа. Поэтому файл не будет работать в книгах с общим доступом.
Скачать пример
Tips_Macro_Sheets_Hide_Rng_for_Users.xls (100,0 KiB, 4 598 скачиваний)
- Практический пример с использованием администратора
Все примеры выше имеют один маленький недостаток: при открытии файла виден один лист и надо жать на кнопку, чтобы выбрать пользователя. Это не всегда удобно. Плюс есть недостаток куда хуже: для изменения настроек всегда надо вручную отображать лист настроек, а может и другие листы. Поэтому ниже я приложил файл, форма в котором открывается сразу после открытия файла:Если выбрать «Пользователь» — admin, указать «Пароль» — 1, то все листы файла будут отображены. Другим пользователям будут доступны только назначенные листы. Таким образом, пользователь, назначенный администратором сможет легко и удобно менять настройки и права доступа пользователей: добавлять и изменять пользователей, их пароли, листы для работы(они доступны на листе Users, как и в файлах выше). После внесения изменений надо просто закрыть файл — он сохраняется автоматически, скрывая все лишние листы.
При этом если пользователя нет в списке или пароли ему неизвестны, то при нажатии кнопки Отмена или закрытии формы крестиком файл так же закроется. Таким образом к файлу будет доступ только тем пользователям, которые перечислены в листе Users, что исключает доступ к файлу посторонних лиц.
Если макросы будут отключены, то пользователь увидит лишь один лист — с инструкцией о том, как включить макросы. Остальные листы будут недоступны.
В реальных условиях не лишним будет закрыть доступ к проекту VBA паролем: Как защитить проект VBA паролемВажно: файл может работать нестабильно в книгах с общим доступом.
Скачать пример
Tips_Macro_UsersRulesOnStart.xls (72,0 KiB, 6 394 скачиваний)
Статья помогла? Поделись ссылкой с друзьями!
Видеоуроки
Поиск по меткам
Accessapple watchMultexPower Query и Power BIVBA управление кодамиБесплатные надстройкиДата и времяЗапискиИПНадстройкиПечатьПолитика КонфиденциальностиПочтаПрограммыРабота с приложениямиРазработка приложенийРосстатТренинги и вебинарыФинансовыеФорматированиеФункции Excelакции MulTExссылкистатистика
Программное добавление кнопок на лист Excel
Надстройка предназначена для автоматизации добавления кнопок запуска макроса на лист Excel
Поскольку макросы мне приходится писать очень часто, рисование кнопок их запуска отнимает достаточно много времени.
Решением стало создание этой надстройки — теперь достаточно выделить диапазон ячеек на листе Excel, нажать комбинацию клавиш типа Alt + 1, — и через мгновение на листе создаётся зелёная кнопка с названием «Запуск», расположенная точно поверх ранее выделенных ячеек. Остаётся только назначить этой кнопке макрос, щелкнув по ней правой клавишей мыши.
Пример кода VBA для создания кнопки:
Sub ПримерИспользования() СоздатьКнопку Selection, vbGreen, "Обработать данные": End Sub End Sub
Для вызова формы (где можно настроить текст и цвет будущей кнопки) предназначена комбинация клавиш Ctrl + Alt + Shift + B
Код функции добавления кнопок на лист Excel:
Function СоздатьКнопку(ByRef ra As Range, Optional ByVal ButtonColor As Long = 255, _ Optional ByVal ButtonName$ = "Запуск", Optional ByVal MacroName As String = "") ' Функция рисует автофигуру (прямоугольник) поверх диапазона ячеек ra ' и окрашивает созданную кнопку (с названием ) в цвет Button_color ' Созданной кнопке назначается макрос MacroName On Error Resume Next: Err. Clear w = ra.Width: h = ra.Height: l = ra.Left: t = ra.Top w = IIf(w >= 10, w, 50): h = IIf(h >= 10, h, 50) ' не создаём маленькие кнопки - минимум 10*10 ' добавляем кнопку на лист Dim sha As Shape: Set sha = ActiveSheet.Shapes.AddShape(msoShapeRoundedRectangle, l, t, w, h) With sha ' оформляем автофигуру .Fill.Visible = msoTrue: .Fill.Solid .Fill.ForeColor.RGB = ButtonColor: .Fill.Transparency = 0.3 .Fill.BackColor.RGB = vbWhite .Fill.TwoColorGradient msoGradientFromCenter, 2 ' градиентная заливка .Adjustments.item(1) = 0.23: .Placement = xlFreeFloating .OLEFormat.Object.PrintObject = False ' кнопки не выводятся на печать .Line.Weight = 0.25: .Line.ForeColor.RGB = vbBlack ' делаем тонкий черный контур With .TextFrame ' добавляем и форматируем текст .Characters.Text = ButtonName$ ' добавляем текст With .Characters.Font ' изменяем начертание текста . Size = IIf(h >= 16, 10, 8): .Bold = True: .Color = vbBlack: .Name = "Arial" ' цвет и шрифт End With .HorizontalAlignment = xlCenter: .VerticalAlignment = xlVAlignCenter End With .onaction = MacroName ' назначаем кнопке макрос (если он задан в параметрах) End With End Function
Вложения:
Buttons.xla | 49.5 КБ |
Не получается применить макрос? Не удаётся изменить код под свои нужды?
Оформите заказ у нас на сайте, не забыв прикрепить примеры файлов, и описать, что и как должно работать.
excel — VBA — создайте новый лист и переименуйте его
спросил
Изменено
4 года, 3 месяца назад
Просмотрено
37 тысяч раз
Я пытаюсь вставить новый лист, а затем переименовать его в текущий месяц и год всего одной кнопкой. Для дополнительной информации: я планирую убрать эту кнопку чуть позже, чтобы она работала автоматически.
Частная подпрограмма CommandButton1_Click() сейчасМесяц = Месяц(Сейчас) nowYear = Год(Сейчас) ActiveWorkbook.Sheets.Add After:=Worksheets(Worksheets.Count)Name = "nowMonth &, & nowYear) Конец сабвуфера
- вба
- первенствовать
- дата
5
Это сделает это:
nowMonth = Month(Now) nowYear = Год(Сейчас) ActiveWorkbook.Sheets.Add After:=Worksheets(Worksheets.Count) ActiveWorkbook.Sheets(Worksheets.Count).Name = nowMonth & "," & nowYear
0
Подумайте о том, чтобы иметь какую-то обработку ошибок, чтобы проверить, существует ли лист, который вы добавляете, в противном случае, если вы каким-то образом снова запустите тот же код, он выдаст вам ошибку, и в то же время будет добавлен новый лист по умолчанию, который Я не думаю, что вы хотели бы.
Также рекомендуется объявлять все переменные, используемые в коде.
Попробуйте так…
Private Sub CommandButton1_Click() Dim wb как рабочая книга Dim ws As рабочий лист Dim nowMonth As Integer, nowYear As Integer сейчасМесяц = Месяц(Сейчас) nowYear = Год(Сейчас) Установите wb = ActiveWorkbook При ошибке Возобновить Далее Установите ws = wb.Sheets(nowMonth & ", " & nowYear) При ошибке Перейти к 0 Если не ws ничего, то MsgBox "Лист под названием " & nowMonth & ", " & nowYear & " уже существует в книге.", vbExclamation, "Лист уже существует!" Выйти из подпрограммы Еще Установите ws = wb.Sheets.Add (после: = wb.Sheets (wb.Sheets.Count)) ws.Name = nowMonth & ", " & nowYear Конец, если Конец сабвуфера
Это должно работать для вас:
Частный подчиненный лист () сейчасМесяц = Месяц(Сейчас) nowYear = Год(Сейчас) ActiveWorkbook.Sheets.Add(After:=Worksheets(Worksheets.Count)).Name = nowMonth & "," & nowYear Конец сабвуфера
Зарегистрируйтесь или войдите в систему
Зарегистрируйтесь с помощью Google
Зарегистрироваться через Facebook
Зарегистрируйтесь, используя адрес электронной почты и пароль
Опубликовать как гость
Электронная почта
Требуется, но никогда не отображается
Опубликовать как гость
Электронная почта
Требуется, но не отображается
Нажимая «Опубликовать свой ответ», вы соглашаетесь с нашими условиями обслуживания и подтверждаете, что прочитали и поняли нашу политику конфиденциальности и кодекс поведения.
Как добавить лист с именем в Excel VBA (6 простых способов)
Получите БЕСПЛАТНЫЕ продвинутые упражнения Excel с решениями!
В этой статье приведены ответы на ваши вопросы по как добавить лист с именем в Excel VBA . Если вы ищете такие уникальные виды трюков, вы пришли в нужное место. Здесь мы обсудим 6 простых и проверенных способов добавления листа с именем в Excel 9.0069 ВБА .
Скачать практическую рабочую тетрадь
Код VBA для добавления листа с именем
6 различных способов добавить лист с именем в Excel VBA
1. Добавление листа с именем в Excel VBA
2. Применение Excel VBA для добавления листа с именем перед конкретным листом
3. Использование Excel VBA для добавления листа с именем после определенного листа
4. Вставка листа с именем в начале книги
5. Использование Excel VBA для добавления листа в конце книги
6. Знакомство с несколькими листами с использованием значения ячейки в Excel VBA
Заключение
Статьи по Теме
Загрузить рабочую тетрадь
Вы можете загрузить следующую рабочую книгу Excel, чтобы лучше понять и попрактиковаться.
Код VBA для добавления листа с именем
Мы будем использовать объект Sheets для добавления листа в Excel. Основной код VBA для добавления листа с именем выглядит так, как показано ниже.
Листы.Добавить ([До], [После], [Количество], [Тип])
До: Необязательно. Он добавляет новый лист перед определенным листом.
После: Это тоже необязательно. Он добавляет новый лист после определенного листа.
Количество: Это также необязательный параметр. Он указывает количество листов, которые необходимо добавить.
Тип: Также опционально. Он определяет тип листа. Здесь значение по умолчанию — xlWorksheet 9.0070 .
6 различных способов добавления листа с именем в Excel VBA
В Excel мы можем добавить новый лист с помощью значка добавления ⊕ рядом с именем листа. Вы когда-нибудь думали об автоматизации той же задачи в Excel? Не думайте больше, потому что VBA поможет вам.
Здесь у нас есть рабочий лист с именем Отчет о продажах . Он содержит Ежедневный отчет о продажах определенного кафетерия. В столбцах B , C и D , есть имена торговых представителей , Товаров и Количество соответственно.
Здесь мы добавим другие листы в эту книгу с помощью макроса VBA .
Здесь мы использовали версию Microsoft Excel 365 , вы можете использовать любую другую версию по своему усмотрению.
1.
Добавление листа с именем в Excel VBA
В нашем первом методе мы добавим лист с именем из пользовательский ввод . Если вам интересно узнать, следуйте этим простым шагам.
📌 Шаги:
- В самом начале перейдите на вкладку Разработчик .
- Во-вторых, выберите Visual Basic в группе Code .
- Или нажмите ALT + F11 , чтобы выполнить ту же задачу.
Примечание: Обязательно нажмите клавишу ALT слева от ПРОБЕЛ . Операция не будет выполнена, если вы используете другие клавиши ALT .
- Мгновенно открывается окно Microsoft Visual Basic для приложений .
- Позже перейдите на вкладку Вставка .
- Затем выберите Модуль из вариантов.
- В настоящее время открывается код Модуль .
- После этого напишите следующий код в модуле .
Sub Add_Sheet_with_Name() Dim имя_листа как строка Тусклый лист как объект При ошибке Возобновить Далее sheet_name = InputBox("Пожалуйста, введите имя листа", _ "Экселдемия") Если имя_листа = "", то выйдите из подпрограммы Листы.Добавить.Имя = имя_листа Конец суб
Разбивка кода
- Во-первых, мы вызываем процедуру Sub как Add_Sheet_with_Name .
- Затем мы определяем типы переменных.
- Позже мы добавили Возобновить при ошибке Далее 9Заявление 0070. Это позволит игнорировать любые ошибки.
- После этого мы использовали InputBox , чтобы получить имя листа от пользователя. Кроме того, мы сохранили текстовую строку из поля ввода в переменную имя_листа .
- Далее, если имя_листа пусто, код не будет выполняться.
- Наконец, мы используем метод Add.Name для присвоения имени вновь созданному листу. Здесь имя будет таким же, как имя_листа переменная.
- В этот момент нажмите значок Выполнить (⏵) . Вместо этого вы можете нажать F5 на клавиатуре.
- Внезапно открывается окно ввода.
- Введите здесь имя нового листа. В данном случае мы написали в поле Прибыль .
- Позже нажмите OK .
- Итак, наш код выполнится и добавит лист с именем Прибыль .
Примечание: Мы не указали место для нашего листа. По умолчанию он помещается перед активным листом.
Подробнее: Excel VBA для добавления листа в другую книгу (3 удобных примера)
2. Применение Excel VBA для добавления листа с именем перед конкретным листом
Во втором методе мы добавим лист с именем перед конкретным листом. Давайте рассмотрим процесс шаг за шагом.
📌 Шаги:
- Во-первых, вызовите окно модуля кода , как показано в Метод 1 .
- Во-вторых, напишите в него следующий код.
Sub Add_Sheet_Before_Specific_Sheet() Рабочие листы («Отчет о продажах»). Активировать Sheets.Add(Before:=Sheets("Прибыль")).Name = "Балансовый отчет" Конец суб
Разбивка кода
- Во-первых, мы вызываем подпроцедуру как Add_Sheet_Before_Specific_Sheet .
- Затем мы активируем лист Отчет о продажах . Это гарантирует, что код будет работать, если мы находимся на другом листе.
- Далее мы используем метод Add.Name для присвоения имени вновь созданному листу. Этот лист будет создан перед листом под названием Прибыль из рабочей книги. Кроме того, мы назвали лист как Балансовый отчет .
- После этого запустите код, как показано в Метод 1 .
- Таким образом, он добавит новый лист Балансовый отчет перед листом с именем Прибыль .
Подробнее: Excel VBA для добавления листа с именем переменной (5 идеальных примеров)
3. Использование Excel VBA для добавления листа с именем после определенного листа
В этом методе мы добавим лист после листа с именем Прибыль . Давайте посмотрим на процесс в деталях.
📌 Шагов:
- Сначала вызовите окно модуля кода , как показано в методе 1 .
- После этого запишите в него следующий код.
Sub Add_Sheet_After_Specific_Sheet() Рабочие листы("Прибыль").Активировать Sheets.Add(After:=ActiveSheet).Name = "Склад" Конец суб
Этот код почти аналогичен коду Метод 2 . Просто здесь мы использовали параметр После , а не До . Потому что мы хотим добавить новый лист после определенного листа.
- После этого запустите код, как показано в Метод 1 .
- Таким образом, он добавит новый лист Склад после листа с именем Прибыль .
Подробнее: Excel VBA для добавления листа, если он не существует (с быстрыми шагами)
4. Вставка листа с именем в начале книги
В этом разделе мы вставим новый лист в начало книги в Excel, используя VBA . Итак, без дальнейших промедлений, давайте посмотрим, как мы это делаем.
📌 Шаги:
- Сначала вызовите окно модуля кода , как показано в методе 1 .
- После этого запишите в него следующий код.
Sub Add_Sheet_Start_Workbook() Sheets. Add(Before:=Sheets(1)).Name = "Профиль компании" Конец суб
Здесь мы добавляем новый рабочий лист перед первым листом рабочей книги. То есть в начале книги. В результате сейчас это первый лист. Кроме того, мы назвали лист Профиль компании .
- Затем запустите код, как показано в Метод 1 .
- Следовательно, в начале рабочей книги будет добавлен новый лист Профиль компании .
Подробнее: Макрос Excel: создание нового листа и переименование (3 идеальных примера)
5. Использование Excel VBA для добавления листа в конец книги
В этом разделе мы добавим лист после последнего листа рабочей книги . Позвольте мне продемонстрировать процесс ниже.
📌 Шаги:
- Сначала откройте окно модуля с кодом , как показано в методе 1 .
- Во-вторых, вставьте в него следующий код.
Sub Sheet_End_Workbook() Sheets.Add(After:=Sheets(Sheets.Count)).Name = "Отчет о прибылях и убытках" Конец суб
Разбивка кода
- Во-первых, мы вызываем процедуру Sub как Sheet_End_Workbook.
- Далее мы используем метод Add.Name для присвоения имени вновь созданному листу. Мы создадим этот лист после последнего листа рабочей книги. Мы можем получить номер последнего листа из свойства Sheets.Count . Более того, мы назвали лист Отчет о прибылях и убытках .
- После этого запустите код, как показано на Метод 1 .
- Следовательно, в конце рабочей книги будет добавлен новый лист Отчет о прибылях и убытках .
Подробнее: Создание новой книги и сохранение с помощью VBA в Excel
6.
Знакомство с несколькими листами с использованием значения ячейки в Excel VBA
Для последнего метода мы добавим в книгу несколько листов с именем из диапазона ячеек, используя Excel VBA . Более того, мы попросим пользователя ввести диапазон, чтобы взять имя. Итак, давайте посмотрим на шаги ниже.
📌 Шаги:
- Сначала откройте окно модуля кода , как показано в методе 1 .
- После этого скопируйте следующий код и вставьте его туда.
Подпрограмма Add_Multiple_Sheets_Using_Cell_Value() Dim rng As Range Dim cc как диапазон Установить rng = Application.InputBox («Выбрать диапазон ячеек» _ & "вставить листы", "ExcelDemy", тип:=8) Application.ScreenUpdating = Ложь Рабочие листы («Отчет о продажах»). Активировать За каждый куб.см в ринге Sheets.Add(After:=ActiveSheet).Name = cc.Value Следующая копия Application.ScreenUpdating = Истина Конец суб
Разбивка кода
- Во-первых, мы вызываем процедуру Sub как Add_Multiple_Sheets_Using_Cell_Value.
- Затем мы определяем типы переменных.
- После этого мы используем InputBox для получения диапазона данных от пользователя.
- В-четвертых, активируем лист Отчет о продажах .
- Позже мы используем цикл For Each Next для последовательного прохождения выбранного диапазона ячеек.
- Далее мы используем Add.Name метод для присвоения имени вновь созданному листу. Мы создадим эти листы после активного листа Отчет о продажах рабочей книги.
- Теперь запустите код, как показано в Метод 1 .
- Мгновенно открывается окно ввода Exceldemy .
- Затем укажите в поле ячейки из диапазона B5:B9 .
- Наконец, нажмите OK .
- Наконец, он вставит пять листов , названных в честь значений ячеек в диапазоне B5:B9 .