VBA Додати новий аркуш - назва, до/після та інші приклади

У цьому підручнику буде розглянуто, як додавати / вставляти аркуші за допомогою VBA.

Додати аркуш

Цей простий макрос додасть аркуш перед ActiveSheet:

123 Sub Додати ()Аркуші. ДодEnd Sub

Після вставлення аркуша новий аркуш стає ActiveSheet. Потім ви можете використовувати об’єкт ActiveSheet для роботи з новим аркушем (Внизу цієї статті ми покажемо, як вставити новий аркуш безпосередньо до змінної).

1 ActiveSheet.Name = "Новий аркуш"

Додати аркуш із назвою

Ви також можете визначити назву аркуша під час створення нового аркуша:

1 Sheets.Add.Name = "Новий аркуш"

Створіть новий аркуш із назвою з клітинки

Або скористайтеся значенням комірки, щоб назвати новий аркуш:

1 Sheets.Add.Name = діапазон ("a3"). Значення

Додати аркуш до / після іншого аркуша

Ви також можете вибрати місце, куди буде вставлено новий аркуш. Ви можете використовувати властивості Після або Перед, щоб вставити аркуш у певне місце у книзі.

Вставити аркуш після іншого аркуша

Цей код вставить новий аркуш ПІСЛЯ іншого аркуша:

1 Таблиці. Додати після: = Аркуші ("Введення")

Буде вставлено новий аркуш ПІСЛЯ іншого аркуша та вказано назву аркуша:

1 Sheets.Add (After: = Sheets ("Input")). Name = "NewSheet"

Зверніть увагу на додаткові дужки, необхідні у другому прикладі (перший приклад видасть помилку, якщо додати другі дужки).

або раніше:

1 Sheets.Add (Before: = Sheets ("Input")). Name = "NewSheet"

У цих прикладах ми явно назвали аркуш, який використовується для визначення розташування аркуша. Часто замість цього потрібно використовувати номер індексу аркушів, щоб вставити аркуш на початок або кінець книги:

Додати аркуш до кінця робочої книги

Щоб додати аркуш до кінця книги:

1 Таблиці. Додати після: = Аркуші (Таблиць. Кількість)

Додати аркуш до початку робочої книги:

Щоб додати аркуш на початок книги:

1 Sheets.Add (Before: = Sheets (1)). Name = "FirstSheet"

Додати аркуш до змінної

Цей код призначає новий аркуш змінній під час створення аркуша:

12 Затемнити як робочий аркушВстановити ws = Таблиці. Додати

Звідси ви можете посилатися на новий аркуш зі змінною "ws":

1 ws.name = "VarSheet"

Додаткові приклади додавання аркушів

Створіть аркуш, якщо його ще немає

Можливо, вам захочеться створити аркуш, тільки якщо він ще не існує.

Створення робочих листів зі списку імен

Наступна процедура розгляне вміст одного стовпця, налаштованого на робочих аркушах Excel у поточній книзі з цими іменами. Він здійснює виклик іншої функції, щоб перевірити, чи аркуш з такою назвою вже існує, і якщо так, аркуш не створено.

1234567891011121314151617181920212223242526 Приватна підкоманда CommandButton1_Click ()Викличте CreateWorksheets (Аркуші ("Sheet2"). Діапазон ("A1: a10"))End SubДодаткові робочі таблиці (Імена_О_ таблиць як діапазон)Dim No_Of_Sheets_to_be_Додано як ціле числоDim Sheet_Name As StringDim i як ціле числоNo_Of_Sheets_to_be_Added = Names_Of_Sheets.Rows.CountДля i = 1 До No_Of_Sheets_to_be_AddedSheet_Name = Names_Of_Sheets.Cells (i, 1). Значення'Додайте аркуш, лише якщо він ще не існує, а ім’я довше нульових символівЯкщо (Sheet_Exists (Sheet_Name) = False) І (Sheet_Name "") ТодіРобочі листи.Add (). Назва = Ім'я_листкаЗакінчити ЯкщоДалі iEnd Sub
1234567891011121314 Функція Sheet_Exists (WorkSheet_Name As String) Як логічне значенняЗатемнити робочий лист як робочий аркушSheet_Exists = НеправдаДля кожного робочого аркуша у цій робочій книзіЯкщо Work_sheet.Name = WorkSheet_Name ТодіSheet_Exists = ПравдаЗакінчити ЯкщоДаліФункція завершення

Отже, якщо у клітинках A1 є наступний текст: A30 на Аркуші 2:

Тоді будуть створені такі аркуші:

Зауважте, що хоча "Собака" з'являється двічі, створюється лише один аркуш.

Щоб завантажити файл .XLS для цього підручника, натисніть тут.

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

wave wave wave wave wave