Как в эксель добавить лист если их нет

Алан-э-Дейл       31.08.2022 г.

Создание новых листов

Создание новых рабочих листов осуществляется с помощью метода Sheets.Add.

Компоненты метода Sheets.Add

  • Before* — необязательный параметр типа данных Variant, указывающий на лист, перед которым будет добавлен новый.
  • After* — необязательный параметр типа данных Variant, указывающий на лист, после которого будет добавлен новый.
  • Count — необязательный параметр типа данных Variant, указывающий, сколько листов будет добавлено (по умолчанию — 1).
  • Type — необязательный параметр типа данных Variant, указывающий тип листа: xlWorksheet** (рабочий лист) или xlChart (диаграмма), по умолчанию — xlWorksheet.

*Если Before и After не указаны, новый лист, по умолчанию, будет добавлен перед активным листом.

**Для создания рабочего листа (xlWorksheet) можно использовать метод Worksheets.Add, который для создания диаграмм уже не подойдет.

Примеры создания листов

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20

‘Создание рабочего листа:

Sheets.Add

Worksheets.Add

ThisWorkbook.Sheets.Add After=ActiveSheet,Count=2

Workbooks(«Книга1.xlsm»).Sheets.Add After=Лист1

Workbooks(«Книга1.xlsm»).Sheets.Add After=Worksheets(1)

Workbooks(«Книга1.xlsm»).Sheets.Add After=Worksheets(«Лист1»)

 
‘Создание нового листа с заданным именем:

Workbooks(«Книга1.xlsm»).Sheets.Add.Name=»Мой новый лист»

 
‘Создание диаграммы:

Sheets.Add Type=xlChart

 
‘Добавление нового листа перед
‘последним листом рабочей книги

Sheets.Add Before=Worksheets(Worksheets.Count)

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

Sheets.Add After=Worksheets(Worksheets.Count)

  • Лист1 в After:=Лист1 — это уникальное имя листа, указанное в проводнике редактора VBA без скобок.
  • Лист1 в After:=Worksheets(«Лист1») — это имя на ярлыке листа, указанное в проводнике редактора VBA в скобках.

Создаваемый лист можно присвоить объектной переменной:

1
2
3
4
5
6
7
8
9
10

DimmyList AsObject

‘В активной книге

SetmyList=Worksheets.Add

‘В книге «Книга1.xlsm»

SetmyList=Workbooks(«Книга1.xlsm»).Worksheets.Add

‘Работаем с переменной

myList.Name=»Listok1″

myList.Cells(1,1)=myList.Name

‘Очищаем переменную

SetmyList=Nothing

Если создаваемый лист присваивается объектной переменной, он будет помещен перед активным листом. Указать дополнительные параметры невозможно.

Способ 1. Формула

Воспользуемся свойствами функции ПОЛУЧИТЬ.РАБОЧУЮ.КНИГУ (в английском варианте GET.WORKBOOK), которая позволит нам получить список всех листов текущей книги.
Для начала перейдем в Диспетчер имен — переходим в панели вкладок на вкладку Формулы в раздел Определенные имена и добавляем новое имя (к примеру, Список_листов) в качестве диапазона которого прописываем следующую формулу:

=ЗАМЕНИТЬ(ПОЛУЧИТЬ.РАБОЧУЮ.КНИГУ(1);1;НАЙТИ(«]»;ПОЛУЧИТЬ.РАБОЧУЮ.КНИГУ(1));»»)

Формально в качестве формулы можно было прописать только =ПОЛУЧИТЬ.РАБОЧУЮ.КНИГУ(1), однако в этом случае в названиях листов будет также содержаться названия книги (например, Лист1).
Удаляем все до символа правой закрывающейся квадратной скобки , в итоге мы оставляем только имя листа (Лист1), и чтобы не делать это формульно каждый раз при обращении к отдельным элементам переменной Список_листов, сделаем это один раз сразу для всех элементов (как в примере выше).

Таким образом, в новой созданной переменной Список_листов содержатся название всех листов текущей книги, своего рода массив с данными, теперь же нам нужно извлечь их оттуда.
Для работы с массивом воспользуемся функцией ИНДЕКС (в английской версии INDEX), которая по порядковому номеру вытаскивает элемент массива, и функцией СТРОКА (английский вариант ROW) для создания простой нумерации:

Далее для удобства навигации с помощью функция ГИПЕРССЫЛКА (в английской версии HYPERLINK) добавим гиперссылки к названиям листов:

В результате каждая гиперссылка будет вести на ячейку A1 соответствующего имени листа.
Переходим к следующему способу.

Как распечатать таблицу в Excel?

После выполнения всех настроек лучше всего сделать предварительный просмотр документа — нажать кнопку Просмотр (покажет, как будет выглядеть документ на печати), и, если все устраивает, Печать, чтобы перейти к распечатке на принтере.

Можно просто сохранить параметры страницы и распечатать документ позднее, нажав горячие клавиши печати CTRL + P или кнопку Office (Файл) — Печать.

В окне выбираем принтер, на котором нужно распечатывать, число копий и, если нужно, номера страниц.

Вывести на печать — Выделенный диапазон. Если нужно распечатать только фрагмент таблицы, то сначала выделите этот фрагмент мышью и выберите печать Выделенного диапазона. Лучше это вообще взять за привычку, если время от времени вы вводите какие-то данные в ненужных вам ячейках для вычислений или просто хранения значений.

Вывести на печать — Всю книгу — используется, если документ состоит из нескольких листов, а нужно распечатать их все разом, то есть всю книгу Excel.

Вкладка Поля

На вкладке Поля можно установить размер отступов от краев страницы до начала таблицы, например, сделать побольше левый отступ, чтобы можно было подшить документ — т.н. отступ переплета.

  • Колонтитулы — это повторяющиеся элементы на каждой распечатанной странице, их размер устанавливается в соответствующем поле.
  • Центрировать на странице — эта функция позволяет выровнять таблицу относительно листа, если она получается меньше, чем сам лист. То есть, нужно ли прижимать распечатываемую страницу к левому верхнему углу (по умолчанию), или разместить по центру.

На скриншоте показано центрирование горизонтально, когда от таблицы до краев листа слева и справа одинаковое расстояние. Если ставить и снимать галочки напротив этих пунктов Горизонтально и Вертикально, то выше можно увидеть, как это будет выглядеть на листе.

Удаление листов

Удаление рабочих листов осуществляется с помощью метода Worksheet.Delete

expression.Delete

где expression — переменная, представляющая собой объект Worksheet.

Примеры удаления листов

1
2
3
4
5
6
7
8
9
10
11

‘По уникальному имени
Лист1.Delete

 
‘По имени на ярлычке

Worksheets(«Лист1»).Delete

 
‘По индексу листа

Worksheets(1).Delete

 
‘В другой книге

Workbooks(«Книга1.xlsm»).Worksheets(«Лист1»).Delete

Если рабочие книги указаны как элементы коллекции Workbooks, в том числе ActiveWorkbook и ThisWorkbook, листы нужно указывать как элементы коллекции Worksheets, использование уникальных имен вызовет ошибку.

Изменение ориентации страницы

Используя данный способ, пользователь может не изменять масштаб данных

По этой причине метод подходит только для таблиц, структура которых состоит из небольшого количества строк, либо если распределение информации по вертикали не столь важно, как при горизонтали, так как основной упор делается на нормальном отображение и распечатке именно данных по ширине страницы

  1. Первое, что мы должно понять – это вмещаются ли все данные на одном стандартном листе или нет. Переходим в режим просмотра “Разметка страницы”. Попасть сюда можно двумя способами:
    • с помощью пиктограммы, расположенной внизу с правой стороны строки состояния программы.
    • через вкладку «Вид». В разделе режимов просмотра книги кликаем по кнопке “Разметка страницы”.
  2. После перехода в режим разметки документ отобразится в таком же виде, как и при распечатке. Он поможет понять, помещается ли таблица в рамках одного листа или нет. Что касается таблицы, рассматриваемой в нашем примере, она разделена на две отдельные страницы по горизонтали, что не совсем хорошо.
  3. В этой ситуации переходим во вкладку “Разметка страницы”. Здесь в разделе “Параметры страницы” нажимаем на кнопку “Ориентация” и в выпадающем списке нажимаем на вариант “Альбомная”.
  4. Выполнив описанные действия, вся таблица разместилась на одном листе, чего мы и добивались.

Помимо рассмотренного выше метода, существуют и другие способы изменения ориентации страниц:

  1. Первый реализуется через параметры печати:
    • кликаем по меню “Файл”.
    • в вертикальном списке с левой стороны окна находим раздел, отвечающий за настройки печати. Здесь же показываются предварительный просмотр документа, его ориентация и прочие параметры.
    • нажимаем по текущей ориентации и выпадающем списке нажимаем по той опции, которая нам нужна. В данном случае – это альбомная ориентация. Смотрим в область предварительного просмотра документа и убеждаемся том, что благодаря внесенным изменениям нам удалось разместить таблицу в пределах одного стандартного листа.
  2. Также стоит отметить способ изменения ориентации с использованием окна параметров страницы:
    • оставаясь в том же окне (Файл – Печать), в настройках внизу щелкаем по «Параметрам страницы». Есть еще несколько вариантов, которые позволяют открыть эти параметры, но они подробно рассмотрены дальше.
    • после запуска окна мы должны оказаться в первой вкладке под названием “Страницы”, однако, если по какой-то причине этого не произошло, переходим в нее самостоятельно. Далее находим области настроек «Ориентация», отмечаем нужный нам вариант, а именно, “Альбомная”. Подтверждаем действие нажатием кнопки OK.

Благодаря этим нехитрым действиям нам удалось решить проблему с размещением таблицы на одной странице.

Распечатка таблицы на одном листе

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

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

Настройка границ столбцов и строк

В некоторых случаях таблица не умещается в пределах одного листа из-за нерационального использования места. Например, когда некоторые столбцы остаются пустыми или их ширина/длина намного больше, чем того требует содержимое в них. Это ведет к увеличению размеров таблицы по ширине и длине, а это в свою очередь приводит к тому, что документ не умещается на одном листе. В подобных случаях обычно прибегают к уменьшению размеров ячеек.

Для начала давайте посмотрим, как меняется ширина столбцов:

  1. Ставим курсор с правой стороны от уменьшаемого столбца на координатной панели. Он должен буть установлен прямо по границе соседних столбцов. Если все сделано правильно, то вид курсора сменится на крестик с разнонаправленными стрелками. Затем, зажав левую кнопку мыши, передвигаем границу влево. Сдвигать ее следует таким образом, чтобы не перекрыть данные наиболее заполненной ячейки.
  2. Данную процедуру выполняем и для всех оставшихся столбцов. Благодаря этим действиям таблица поместилась на одной странице, потому что нам удалось сделать ее более компактной.

Примечание: Вместо ручного сдвига границы столбца/строки можно, наведя курсор на нее, просто дважды щелкнуть левой кнопкой мыши, и Эксель автоматически подберет минимально возможную ширину исходя из самой заполненной ячейки.

При необходимости данный метод можно применять и к строкам.

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

Установка параметров страницы

Есть также возможность уместить таблицу на 1-ой странице, установив необходимые параметры страницы.

  1. Добраться до нужных нам настроек можно несколькими способами:
    • переключаемся на вкладку “Разметка страницы”. Открываем параметры страницы нажатием на небольшую пиктограмму в виде наклоненной стрелки вниз в углу раздела.
    • нажимаем на такой же значок, только уже в разделе “Вписать”.
    • переходим в меню Файл, выбираем пункт “Печать” и внизу правой стороны окна щелкаем на надпись “Параметры страницы”.
    • в вариантах масштабирования, которые можно выбрать при печати, нажимаем на пункт “Параметры настраиваемого масштабирования”.
  2. Любой из перечисленных вариантов предоставляет доступ к исчерпывающему набору параметров. В появившемся окне переходим во вкладку “Страница” (если мы находимся не там), затем в области, отвечающей за ее масштаб, ставим отметку напротив значения «разместить не более чем на:». Теперь остается указать количество страниц в ширину и в высоту. В нашем случае, пишем цифру 1 в обоих случаях и кликаем OK для сохранения параметров.
  3. После выполнения этих действий программа сможет корректно распечатать таблицу в соответствии с нашими пожеланиями. Теперь осталось только перейти в меню Файл, кликнуть по соответствующей кнопке, чтобы отправить документ на печать, предварительно убедившись в том, что выбранные параметры позволили вписать таблицу на один лист.

Примечание: Если требуется вписать в границы одного листа только данные по ширине при отсутствии ограничений касающихся высоты, в параметрах страницы также ставим отметку напротив значения «разместить не более чем на:». Но теперь в первом поле (отвечающем за ширину) указываем цифру 1, а во втором (отвечающем за высоту) оставляем пустое значение.

LiveInternetLiveInternet

Рубрики

  • ВИДЕО (32)
  • КОМПЬЮТЕР (20)
  • ВЯЗАНИЕ (536)
  • — журналы (45)
  • — крючок (177)
  • — полезно знать (84)
  • — спицы (257)
  • ДЕТЯМ (151)
  • -вязание (84)
  • -развлечение-обучение (44)
  • -шитьё (16)
  • КРАСОТА (18)
  • — прически (13)
  • КУЛИНАРИЯ (44)
  • ПОЛЕЗНАЯ ИНФОРМАЦИЯ (61)
  • — интересно знать (16)
  • — интересные сайты (14)
  • — программки (26)
  • РУКОДЕЛИЕ (132)
  • — для дома (38)
  • — для кухни (14)
  • — игрушки (55)
  • — новогоднее (19)
  • ФОТО (3)
  • ЦВЕТОВОДСТВО (15)
  • ШИТЬЁ (33)
  • — журналы (3)

Цитатник

Наряди ёлку.Новогодние игрушки (выпуск 4) .

Поделки из бумаги на новый год .

Мой МК по вязанию СЛЕДОЧКОВ По многочисленным просьбам наших ЛиРушниц попыталась сделать МК по.

10 идей, как сделать оригинальные формы для булочек 10 идей, как сделать оригинальные формы дл.

«Ты чо такая тупая!» — 10 вещей о травле, которым надо научить ребенка уже сего.

Копирование листов

Копирование рабочих листов осуществляется с помощью метода Worksheet.Copy.

Компоненты метода Worksheet.Copy

  • Before* — необязательный параметр типа данных Variant, указывающий на лист, перед которым будет добавлена копия.
  • After* — необязательный параметр типа данных Variant, указывающий на лист, после которого будет добавлена копия.

*Если Before и After не указаны, Excel создаст новую книгу и поместит копию листа в нее. Если скопированный лист содержит код в проекте VBA (в модуле листа), он тоже будет перенесен в новую книгу.

Примеры копирования листов

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20

‘В пределах активной книги
‘(уникальные имена листов)
Лист1.CopyAfter=Лист2

 
‘В пределах активной книги
‘(имена листов на ярлычках)

Worksheets(«Лист1»).Copy Before=Worksheets(«Лист2»)

 
‘Вставить копию в конец:
Лист1.CopyAfter=Worksheets(Worksheets.Count)

 
‘Из одной книги в другую

Workbooks(«Книга1.xlsm»).Worksheets(«Лист1»).Copy_

After=Workbooks(«Книга2.xlsm»).Worksheets(«Лист1»)

 
‘Один лист активной книги в новую книгу
Лист1.Copy

 
‘Все листы книги с кодом в новую книгу

ThisWorkbook.Worksheets.Copy

Если рабочие книги указаны как элементы коллекции Workbooks, в том числе ActiveWorkbook и ThisWorkbook, листы нужно указывать как элементы коллекции Worksheets, использование уникальных имен вызовет ошибку.

Перемещение листов

Перемещение рабочих листов осуществляется с помощью метода Worksheet.Move.

Компоненты метода Worksheet.Move

  • Before* — необязательный параметр типа данных Variant, указывающий на лист, перед которым будет размещен перемещаемый лист.
  • After* — необязательный параметр типа данных Variant, указывающий на лист, после которого будет размещен перемещаемый лист.

*Если Before и After не указаны, Excel создаст новую книгу и переместит лист в нее.

Примеры перемещения листов

Простые примеры перемещения листов:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17

‘В пределах активной книги
‘(уникальные имена листов)
Лист1.MoveAfter=Лист2

 
‘В пределах активной книги
‘(имена листов на ярлычках)

Worksheets(«Лист1»).Move Before=Worksheets(«Лист2»)

 
‘Размещение после последнего листа:
Лист1.MoveAfter=Worksheets(Worksheets.Count)

 
‘Из одной книги в другую

Workbooks(«Книга1.xlsm»).Worksheets(«Лист1»).Move_

After=Workbooks(«Книга2.xlsm»).Worksheets(«Лист1»)

 
‘В новую книгу
Лист1.Move

Если рабочие книги указаны как элементы коллекции Workbooks, в том числе ActiveWorkbook и ThisWorkbook, листы нужно указывать как элементы коллекции Worksheets, использование уникальных имен вызовет ошибку.

Перемещение листа «Лист4» в позицию перед листом, указанным как по порядковому номеру, так и по имени ярлыка:

1
2
3
4
5
6

SubPeremeshcheniye()

Dimx

x=InputBox(«Введите имя или номер листа»,»Перемещение листа «Лист4»»)

IfIsNumeric(x)Thenx=CLng(x)

Sheets(«Лист4»).Move Before=Sheets(x)

EndSub

Вкладка Страница

масштаб — самое интересное, именно он позволяет настроить так, чтобы вся таблица распечатывалась на одном листе.

Если нам нужно, чтобы вообще все было напечатано на одном листе, то устанавливаем «Разместить не более чем на 1 странице в ширину и 1 страницу в высоту». И Excel сам подгонит масштаб документа таким образом, чтобы вписать все на одну страницу.

Если нужно, чтобы все помещалось в ширину на 1 листе, а в длину — на 10, именно это и указываем. И Excel также сам подгонит масштаб документа.

Можно распечатать имеющийся документ в определенном масштабе в процентах — для этого нужно просто установить процент.

Способ 2. Пользовательская функция (UDF)

Чтобы каждый раз не вспоминать алгоритм извлечения имени листа, реализуем пользовательскую функцию с идентичным функционалом.
Все стандартно: переходим в редактор Visual Basic (сочетание клавиш Alt + F11), создаем новый модуль и копируем туда текст функции:

Код функции

Visual Basic

Function SheetList(N As Integer)
SheetList = ActiveWorkbook.Worksheets(N).Name
End Function

1
2
3

FunctionSheetList(NAsInteger)

SheetList=ActiveWorkbook.Worksheets(N).Name

EndFunction

Алгоритм данной пользовательской функций простой — она возвращает имя N-го по порядку листа (где N — аргумент функции).

Теперь возвращаемся в Excel и пробуем новой функцией SheetList получить список листов книги (так же как и в предыдущем способе воспользуемся функцией СТРОКА для создания простой нумерации):

Повторяем операцию по добавлению гиперссылок для более удобной навигации:

Все готово.Скачать файл с примером.

Удачи вам и до скорых встреч на страницах блога TutorExcel.Ru!

Гость форума
От: admin

Эта тема закрыта для публикации ответов.