VBA Добавить новый лист - имя, до / после и другие примеры

В этом руководстве будет рассказано, как добавлять / вставлять листы с помощью VBA.

Добавить лист

Этот простой макрос добавит лист перед ActiveSheet:

123 Дополнительное добавление ()Таблицы.ДобавитьКонец подписки

После вставки листа новый лист становится ActiveSheet. Затем вы можете использовать объект ActiveSheet для работы с новым листом (внизу этой статьи мы покажем, как вставить новый лист непосредственно в переменную).

1 ActiveSheet.Name = "NewSheet"

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

Вы также можете определить имя листа при создании нового листа:

1 Sheets.Add.Name = "NewSheet"

Создать новый лист с именем из ячейки

Или используйте значение ячейки, чтобы назвать новый лист:

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

Добавить лист до / после другого листа

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

Вставить лист после другого листа

Этот код вставит новый лист ПОСЛЕ другого листа:

1 Sheets.Add After: = Sheets ("Ввод")

Это вставит новый лист ПОСЛЕ другого листа и укажет имя листа:

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

Обратите внимание на дополнительные круглые скобки, необходимые во втором примере (первый пример выдаст ошибку, если добавить вторую круглую скобку).

или до:

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

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

Добавить лист в конец книги

Чтобы добавить лист в конец книги:

1 Sheets.Add After: = Sheets (Sheets.Count)

Добавить лист в начало книги:

Чтобы добавить лист в начало книги:

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

Добавить лист в переменную

Этот код назначает новый лист переменной при создании листа:

12 Dim ws как рабочий листУстановить ws = Sheets.Add

Отсюда вы можете ссылаться на новый лист с помощью переменной «ws»:

1 ws.name = "VarSheet"

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

Создать лист, если его еще нет

Вы можете создать лист, только если он еще не существует.

Создать рабочие листы из списка имен

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

1234567891011121314151617181920212223242526 Частная подпрограмма CommandButton1_Click ()Вызов CreateWorksheets (Sheets ("Sheet2"). Range ("A1: a10"))Конец подпискиSub CreateWorksheets (Names_Of_Sheets As Range)Dim No_Of_Sheets_to_be_Added As IntegerТусклое имя листа как строкаDim 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) .Value'Добавляйте лист только в том случае, если его еще нет и имя длиннее нуля символовЕсли (Sheet_Exists (Sheet_Name) = False) And (Sheet_Name ""), тоWorksheets.Add (). Name = Sheet_NameКонец, еслиДалее яКонец подписки
1234567891011121314 Функция Sheet_Exists (WorkSheet_Name As String) как логическое значениеТусклый рабочий лист как рабочий листSheet_Exists = ЛожьДля каждой рабочей_таблицы в ThisWorkbook.WorksheetsЕсли Work_sheet.Name = WorkSheet_Name, тоSheet_Exists = ИстинаКонец, еслиСледующийКонечная функция

Итак, если у нас есть следующий текст в ячейках A1: A30 на листе 2:

Тогда будут созданы следующие листы:

Обратите внимание, что хотя «Собака» появляется дважды, создается только один лист.

Чтобы загрузить файл .XLS для этого руководства, щелкните здесь.

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

wave wave wave wave wave