Оглавление
Excel VBA - это мощный и удобный инструмент для быстрого выполнения задач в большом количестве. Вы можете применить несколько условий и получить различные результаты на основе отдельных условий с помощью VBA. Теперь, иногда, вы можете захотеть проверить, существует ли определенный лист в вашей рабочей книге. И, если нет, вам может понадобиться создать этот лист. В этой статье я покажу вам все шаги, чтобы добавить лист если он не существует, с помощью Excel VBA.
Excel VBA: добавление листа, если он не существует (краткий обзор)
Sub AddSheetIfNotExist() Dim addSheetName As String Dim requiredSheetName As String addSheetName = Application.InputBox("What Sheet Are You Looking For?", _ "Add Sheet If Not Exist", "Sheet5", , , , , 2) On Error Resume Next requiredSheetName = Worksheets(addSheetName).Name If requiredSheetName = "" Then Worksheets.Add.Name = addSheetName MsgBox "The ''' & addSheetName & _ "''' sheet hasбыл добавлен, поскольку он не существовал.", _ vbInformation, "Add Sheet If Not Exist" Else MsgBox "Лист ''' & addSheetName & _ "'' уже существует в этой рабочей книге.", _ vbInformation, "Add Sheet If Not Exist" End If End Sub
Вставьте в новый модуль, чтобы применить приведенный выше код.
Скачать Рабочую тетрадь для практических занятий
Вы можете бесплатно скачать нашу рабочую тетрадь для практики отсюда!
Добавить лист, если он не существует.xlsmШаги по применению кода VBA для добавления листа в Excel, если он не существует
Допустим, у вас есть рабочая книга, содержащая 4 рабочих листа с именами январь, февраль, март и апрель. Каждый лист содержит отчет о продажах за следующий месяц. Теперь вам нужно найти несколько листов в рабочей книге и добавить лист, если он не существует. Для этого вы можете следовать приведенным ниже пошаговым инструкциям.
📌 Шаг 1: Вставка нового модуля
Сначала нужно вставить модуль для написания кода VBA.
- Для этого в самом начале перейдите в раздел Разработчик вкладка>> Visual Basic инструмент.
- В результате Microsoft Visual Basic для приложений появится окно.
- Впоследствии перейдите к Вставка вкладка>> Модуль инструмент.
Таким образом, новый модуль с именем Модуль1 была создана.
Читать далее: Как добавить лист с именем в Excel VBA (6 простых способов)
Похожие чтения
- Создание новой рабочей книги и сохранение с помощью VBA в Excel
- Excel VBA: создание новой рабочей книги и ее название (6 примеров)
- Как создать новый лист из шаблона с помощью макроса в Excel
📌 Шаг 2: Запишите и сохраните необходимый код VBA
Теперь нужно написать код внутри модуля и сохранить его.
- Для этого нажмите на кнопку Модуль1 и напишите следующий код в окне кода.
Sub AddSheetIfNotExist() Dim addSheetName As String Dim requiredSheetName As String addSheetName = Application.InputBox("What Sheet Are You Looking For?", _ "Add Sheet If Not Exist", "Sheet5", , , , , 2) On Error Resume Next requiredSheetName = Worksheets(addSheetName).Name If requiredSheetName = "" Then Worksheets.Add.Name = addSheetName MsgBox "The ''' & addSheetName & _ "''' sheet hasбыл добавлен, так как он не существовал.", _ vbInformation, "Add Sheet If Not Exist" Else MsgBox "Лист ''' & addSheetName & _ "'' уже существует в этой рабочей книге.", _ vbInformation, "Add Sheet If Not Exist" End If End End
Sub
- В результате окно кода будет выглядеть следующим образом.
🔎 Код Объяснение:
♣ Сегмент 1:
Sub AddSheetIfNotExist() Dim addSheetName As String Dim requiredSheetName As String
В этой части мы объявили имя макроса и имена переменных.
♣ Сегмент 2:
addSheetName = Application.InputBox("What Sheet Are You Looking For?", _ "Add Sheet If Not Exist", "Sheet5", , , , , 2) On Error Resume Next requiredSheetName = Worksheets(addSheetName).Name
В этой части мы создали поле ввода. Через это поле ввода мы можем ввести имя файла, который нам нужно найти.
♣ Сегмент 3:
If requiredSheetName = "" Then Worksheets.Add.Name = addSheetName MsgBox "The ''' & addSheetName & _ "'' sheet has been added as it did not exist.", _ vbInformation, "Add Sheet If Not Exist."
В этой части мы проверяем, существует ли нужный лист в рабочей книге. Если нет, то создается нужный лист и выдается сообщение об этом изменении.
♣ Сегмент 4:
Else MsgBox "Лист ''" & addSheetName & _ "'' уже существует в этой рабочей книге.", _ vbInformation, "Add Sheet If Not Exist" End If End Sub
В этой части мы работали с результатом, если нужный лист уже существует в рабочей книге. В этом случае появится еще одно окно сообщения, информирующее о том, что этот лист существует. Кроме того, в этой части мы правильно завершили код.
- После этого нажмите Ctrl + S.
- Впоследствии Microsoft Excel появится окно. Нажмите на Нет кнопка.
- В результате Сохранить как появится окно.
- Далее выберите Сохранить как тип: вариант как .xlsm формат. Затем нажмите на Сохранить кнопка.
Таким образом, вы написали и сохранили требуемый код.
Примечание:
Вы должны сохранить рабочую книгу Excel в .xlsm иначе макрос не будет включен и код не будет работать.
Читать далее: Excel VBA для добавления листа с именем переменной (5 идеальных примеров)
📌 Шаг 3: Выполнить код
Теперь нужно запустить код и проверить результаты.
- Для этого, прежде всего, нажмите на кнопку Запускайте значок в Microsoft Visual Basic для приложений окно.
- В результате Макросы появится окно.
- Затем выберите AddSheetIfNotExist макрос и нажмите на Запускайте кнопка.
- В это время созданное нами окно сообщения с именем Добавить лист, если он не существует появится. Здесь, автоматический вариант будет следующим Лист5 .
- Теперь, для проверки, напишите "Апрель" в текстовом поле и нажмите на кнопку Хорошо кнопка.
- После этого появится еще одно окно с сообщением о том, что лист уже существует.
- Нажмите на Хорошо кнопка.
- После этого снова запустите код и напишите "Май" в текстовом поле созданного окна сообщения. Затем нажмите на кнопку OK кнопка.
- В результате появится еще одно окно с сообщением, информирующее вас о том, что "Май" лист не существовал, и поэтому он создал этот лист.
- Далее нажмите на OK кнопка.
Наконец, вы можете увидеть, что добавили лист, которого раньше не существовало. И рабочая книга теперь будет выглядеть следующим образом.
Читать далее: Excel VBA: добавление листа после последнего (3 идеальных примера)
Заключение
Итак, в этой статье я показал вам все шаги по добавлению несуществующего листа с помощью Excel VBA. Внимательно прочтите всю статью, чтобы лучше понять ее и достичь желаемого результата. Надеюсь, вы найдете эту статью полезной и информативной. Если у вас возникнут дополнительные вопросы или рекомендации, пожалуйста, свяжитесь со мной.
И, посетите ExcelWIKI побольше таких статей. спасибо!