Excel VBA за добавяне на лист, ако той не съществува (с бързи стъпки)

  • Споделя Това
Hugh West

Excel VBA е мощен и удобен инструмент за бързо изпълнение на задачи в голям обем. Можете да приложите няколко условия и да получите различни резултати въз основа на отделните условия чрез VBA. Понякога може да искате да проверите дали даден лист съществува в работната ви книга. И ако не, може да се наложи да създадете този лист. В тази статия ще ви покажа всички стъпки, за да добавяне на лист ако не съществува, с помощта на Excel VBA.

Excel VBA: Добавяне на лист, ако той не съществува (бърз преглед)

 Sub AddSheetIfNotExist() Dim addSheetName As String Dim requiredSheetName As String addSheetName = Application.InputBox("Кой лист търсите?", _ "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 "The ''" & addSheetName & _ "''sheet already exists in this workbook.", _ vbInformation, "Add Sheet If Not Exist" End If End Sub 

Вмъкнете в нов модул, за да приложите горния код.

Изтегляне на работна тетрадка за практика

Можете да изтеглите безплатно нашата учебна тетрадка от тук!

Добавяне на лист, ако той не съществува.xlsm

Стъпки за прилагане на VBA код за добавяне на лист в Excel, ако той не съществува

Да речем, че имате работна книга, съдържаща 4 работни листа, наречени януари, февруари, март и април. Всеки лист съдържа отчета за продажбите за следващия месец. Сега трябва да намерите някои листове в работната книга и да добавите листа, ако той не съществува. Можете да следвате указанията стъпка по стъпка по-долу, за да постигнете това.

📌 Стъпка 1: Вмъкване на нов модул

Първо, трябва да вмъкнете модул за писане на код VBA.

  • За да направите това, в самото начало отидете в Разработчик tab>> Visual Basic инструмент.

  • В резултат на това Microsoft Visual Basic за приложения ще се появи прозорец.
  • След това отидете в Вмъкване на tab>> Модул инструмент.

По този начин се създава нов модул с име Модул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("Кой лист търсите?", _ "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 "The ''" & addSheetName & _ "''sheet already exists in this workbook.", _ vbInformation, "Add Sheet If Not Exist" End If End  Под 

  • В резултат на това прозорецът с кода ще изглежда по следния начин.

🔎 Обяснение на кода:

Сегмент 1:

 Sub AddSheetIfNotExist() Dim addSheetName As String Dim requiredSheetName As String 

В тази част декларирахме името на макроса и имената на променливите.

Сегмент 2:

 addSheetName = Application.InputBox("Кой лист търсите?", _ "Add Sheet If Not Exist", "Sheet5", , , , , 2) При грешка възобнови Следваща 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 "The ''" & addSheetName & _ "''sheet already exists in this workbook.", _ 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 за още много статии като тази. Благодаря ви!

Хю Уест е опитен обучител и анализатор на Excel с над 10 години опит в индустрията. Има бакалавърска степен по счетоводство и финанси и магистърска степен по бизнес администрация. Хю има страст към преподаването и е разработил уникален подход на преподаване, който е лесен за следване и разбиране. Неговите експертни познания по Excel са помогнали на хиляди студенти и професионалисти по целия свят да подобрят уменията си и да постигнат отлични резултати в кариерата си. Чрез своя блог Хю споделя знанията си със света, като предлага безплатни уроци за Excel и онлайн обучение, за да помогне на хората и фирмите да достигнат пълния си потенциал.