Две книги excel на один лист

Как собрать данные с нескольких листов или книг на один лист?

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

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

Сбор данных с нескольких листов Excel на итоговый лист

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

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

1) Используемые диапазоны — это диапазоны, начинающиеся с первой используемой ячейки и заканчивающиеся последней используемой ячейкой;

2) Предварительно выделенные диапазоны на каждом листе — диапазоны, выделенные пользователем самостоятельно, исходя из его потребностей по консолидации данных;

3) Одноименные диапазоны — диапазоны с одинаковым адресом на каждом листе, указанным на активном рабочем листе;

4) Выборочные диапазоны — диапазоны ячеек, начинающиеся с выбранной ячейки и заканчивающиеся концом листа (последней используемой ячейкой).

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

Кроме того, в диалоговом окне надстройки можно указать способ расположения данных на итоговом листе, в зависимости от выбранной опции диапазоны будут располагаться один ниже другого (вертикальное расположение), либо один правее другого (горизонтальное расположение).

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

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

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

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

Как правило, после переноса данных на итоговый лист, сами исходные листы становятся ненужными, в этом случае их можно удалить полностью либо выборочно при помощи надстройки для удаления листов.

Видео по сбору данных со всех листов на итоговый лист

Сбор данных с нескольких книг Excel на один лист

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

1) При помощи надстройки для объединения рабочих книг в один файл, собрать все листы в одной рабочей книге;

2) При помощи надстройки для сбора данных на итоговый лист, объединить данные с разных листов.

Как собрать данные с нескольких листов excel на один лист

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

ПРОБЛЕМА: Как быстро собрать информацию на один лист из нескольких?
И заполнить такую форму:

КАК ЭТО РАБОТАЕТ:
Функция ДВССЫЛ() возвращает ссылку, заданную текстовой строкой. По простому говоря:=ДВССЫЛ( B1 &» !B2 «) — даёт нам ссылку аналогичную = Янв !B2 , потому как в ячейке В1 находится текст Янв , который конкатенируется (сцепляется) посредством оператора конкатенации амперсанда & с указанием конкретной ячейки листа Янв В2 .

КОММЕНТАРИИ: Так же можно использовать подобные конструкции и для извлечения данных из других книг.

МИНУСЫ: Функция ДВССЫЛ() не работает с закрытыми книгами.

ОБЛАСТЬ ПРИМЕНЕНИЯ
: Любая версия Excel

Консолидация данных с нескольких листов

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

Для подведения итогов и результатов из отдельных листов, можно объединить данные из каждого листа в главном листе. Листы может быть в той же книге как главном листе или в других книгах. При объединении данных, чтобы упростить можно обновить и статистической обработки при необходимости собирать данные.

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

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

Консолидация данных по положению или категории двумя способами.

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

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

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

Примечание: В этой статье были созданы с Excel 2016. Хотя представления могут отличаться при использовании другой версии Excel, шаги одинаковы.

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

Если вы еще не сделано, настройте данные на каждом листе составные, сделав следующее:

Убедитесь, что все диапазоны данных представлены в формате списка. Каждый столбец необходимо иметь метку (верхний колонтитул) в первой строке и содержать похожие данные. Должен быть отсутствуют пустые строки или столбцы в любом месте в списке.

Разместите каждый диапазон на отдельном листе, но не было введено никаких данных в основном листе где план для консолидации данных. Excel будет сделать это для вас.

Убедитесь, что всех диапазонов совпадают.

На основном листе щелкните левый верхний угол области, в которой требуется разместить консолидированные данные.

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

Нажмите кнопку данные>Консолидация (в группе Работа с данными ).

Выберите в раскрывающемся списке Функция функцию, которую вы хотите использовать для консолидации данных. По умолчанию используется значение СУММ.

Вот пример, в котором выбраны три диапазоны листа:

Далее в поле ссылка нажмите кнопку Свернуть, чтобы уменьшить масштаб панели и выбрать данные на листе.

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

Если лист, содержащий данные, которые необходимо объединить в другой книге, нажмите кнопку Обзор, чтобы найти необходимую книгу. После поиска и нажмите кнопку ОК, Excel в поле ссылка введите путь к файлу и добавление восклицательный знак, путь к. Чтобы выбрать другие данные можно нажмите Продолжить.

Вот пример, в котором выбраны три диапазоны листа выбранного:

Во всплывающем окне Консолидация нажмите кнопку Добавить. Повторите этот сценарий, чтобы добавить все нужные диапазоны консолидации.

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

Связи невозможно создать, если исходная и конечная области находятся на одном листе.

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

Нажмите кнопку ОК, а Excel создаст консолидации для вас. Кроме того можно применить форматирование. Бывает только необходимо отформатировать один раз, если не перезапустить консолидации.

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

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

Если данные для консолидации находятся в разных ячейках разных листов:

Введите формулу со ссылками на ячейки других листов (по одной на каждый лист). Например, чтобы консолидировать данные из листов «Продажи» (в ячейке B4), «Кадры» (в ячейке F5) и «Маркетинг» (в ячейке B9) в ячейке A2 основного листа, введите следующее:

Совет: Чтобы указать ссылку на ячейку — например, продажи! B4 — в формуле, не вводя, введите формулу до того места, куда требуется вставить ссылку, а затем щелкните лист, используйте клавишу tab и затем щелкните ячейку. Excel будет завершена адрес имя и ячейку листа для вас. Примечание: формулы в таких случаях может быть ошибкам, поскольку очень просто случайно выбираемых неправильной ячейки. Также может быть сложно ошибку сразу после ввода сложные формулы.

Если данные для консолидации находятся в одинаковых ячейках разных листов:

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

Дополнительные сведения

Вы всегда можете задать вопрос специалисту Excel Tech Community, попросить помощи в сообществе Answers community, а также предложить новую функцию или улучшение на веб-сайте Excel User Voice.

Как собрать данные с нескольких листов или книг?

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

‘————————————————————————————— ‘ Module : mConsolidated ‘ DateTime : 02.02.2010 17:06 ‘ Author : The_Prist(Щербаков Дмитрий) ‘ Purpose : http://www.excel-vba.ru/chto-umeet-excel/kak-sobrat-dannye-s-neskolkix-listov-ili-knig/ ‘ Процедура сбора данных с нескольки листов/книг ‘————————————————————————————— Option Explicit Sub Consolidated_Range_of_Books_and_Sheets() Dim iBeginRange As Range, rCopy As Range, lCalc As Long, lCol As Long Dim oAwb As String, sCopyAddress As String, sSheetName As String Dim lLastrow As Long, lLastRowMyBook As Long, li As Long, iLastColumn As Integer Dim wsSh As Worksheet, wsDataSheet As Worksheet, bPolyBooks As Boolean, avFiles Dim wbAct As Workbook Dim bPasteValues As Boolean On Error Resume Next ‘Выбираем диапазон выборки с книг Set iBeginRange = Application.InputBox(«Выберите диапазон сбора данных.» & vbCrLf & _ «1. При выборе только одной ячейки данные будут собраны со всех листов начиная с этой ячейки. » & _ vbCrLf & «2. При выделении нескольких ячеек данные будут собраны только с указанного диапазона всех листов.», Type:=8) ‘для указания диапазона без диалогового окна: ‘Set iBeginRange = Range(«A1:A10») ‘диапазон указывается нужный ‘Если диапазон не выбран — завершаем процедуру If iBeginRange Is Nothing Then Exit Sub ‘Указываем имя листа ‘Допустимо указывать в имени листа символы подставки ? и *. ‘Если указать только * то данные будут собираться со всех листов sSheetName = InputBox(«Введите имя листа, с которого собирать данные(если не указан, то данные собираются со всех листов)», «Параметр») ‘Если имя листа не указано — данные будут собраны со вех листов If sSheetName = «» Then sSheetName = «*» On Error GoTo 0 ‘Запрос — вставлять на результирующий лист все данные ‘или только значения ячеек (без формул и форматов) bPasteValues = (MsgBox(«Вставлять только значения?», vbQuestion + vbYesNo, «Excel-VBA») = vbYes) ‘Запрос сбора данных с книг(если Нет — то сбор идет с активной книги) If MsgBox(«Собрать данные с нескольких книг?», vbInformation + vbYesNo, «Excel-VBA») = vbYes Then avFiles = Application.GetOpenFilename(«Excel files(*.xls*),*.xls*», , «Выбор файлов», , True) If VarType(avFiles) = vbBoolean Then Exit Sub bPolyBooks = True lCol = 1 Else avFiles = Array(ThisWorkbook.FullName) End If ‘отключаем обновление экрана, автопересчет формул и отслеживание событий ‘для скорости выполнения кода и для избежания ошибок, если в книгах есть иные коды With Application lCalc = .Calculation .ScreenUpdating = False: .EnableEvents = False: .Calculation = xlManual End With ‘создаем новый лист в книге для сбора Set wsDataSheet = ActiveWorkbook.Sheets.Add(After:=Sheets(Sheets.Count)) ‘если нужно сделать сбор данных на новый лист книги с кодом ‘Set wsDataSheet = ThisWorkbook.Sheets.Add(After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)) ‘цикл по книгам For li = LBound(avFiles) To UBound(avFiles) If bPolyBooks Then Set wbAct = Workbooks.Open(Filename:=avFiles(li)) Else Set wbAct = ThisWorkbook End If oAwb = wbAct.Name ‘цикл по листам For Each wsSh In wbAct.Worksheets If wsSh.Name Like sSheetName Then ‘Если имя листа совпадает с именем листа, в который собираем данные ‘и сбор идет только с активной книги — то переходим к следующему листу If wsSh.Name = wsDataSheet.Name And bPolyBooks = False Then GoTo NEXT_ With wsSh Select Case iBeginRange.Count Case 1 ‘собираем данные начиная с указанной ячейки и до конца данных lLastrow = .Cells(1, 1).SpecialCells(xlLastCell).Row iLastColumn = .Cells.SpecialCells(xlLastCell).Column sCopyAddress = .Range(.Cells(iBeginRange.Row, iBeginRange.Column), .Cells(lLastrow, iLastColumn)).Address Case Else ‘собираем данные с фиксированного диапазона sCopyAddress = iBeginRange.Address End Select lLastRowMyBook = wsDataSheet.Cells.SpecialCells(xlLastCell).Row + 1 ‘определяем для копирования диапазон только заполненных данных на листе Set rCopy = Intersect(.Range(sCopyAddress).Parent.UsedRange, .Range(sCopyAddress)) ‘вставляем имя книги, с которой собраны данные If lCol Then wsDataSheet.Cells(lLastRowMyBook, 1).Resize(rCopy.Rows.Count).Value = oAwb ‘если вставляем только значения и форматы ячеек If bPasteValues Then rCopy.Copy wsDataSheet.Cells(lLastRowMyBook, 1).Offset(, lCol).PasteSpecial xlPasteValues wsDataSheet.Cells(lLastRowMyBook, 1).Offset(, lCol).PasteSpecial xlPasteFormats Else ‘если вставляем все данные ячеек(значения, формулы, форматы и т.д.) rCopy.Copy wsDataSheet.Cells(lLastRowMyBook, 1).Offset(, lCol) End If End With End If NEXT_: Next wsSh If bPolyBooks Then wbAct.Close False Next li With Application .ScreenUpdating = True: .EnableEvents = True: .Calculation = lCalc End With End Sub

Приведенный выше код необходимо вставить в стандартный модуль(Что такое модуль? Какие бывают модули?). Выполнить его можно будет из этой книги нажатием клавиш Alt+F8. В появившемся окне выбрать Consolidated_Range_of_Books_and_Sheets и нажать Выполнить. Так же можно создать на листе кнопку и назначить ей данный макрос. Так же, если впервые работаете с макросами настоятельно рекомендую прочитать статью: Что такое макрос и где его искать?, а так же Почему не работает макрос?

После вызова макроса поочередно будут появляется запросы, в которых надо будет указать исходные параметры:

  • Диапазон сбора данных — Если в окне выбора диапазона выбрать только одну ячейку, то данные будут собраны со всех листов книги/книг, начиная с этой ячейки и до последней ячейки листа.
    Если выбрать несколько ячеек, данные будут собраны только с указанного диапазона всех листов книги/книг. Допускается указать несвязанный(рваный) диапазон(например, только три столбца: A:A , D:D , F:F ). Сделать это можно, выделив нужный диапазон с зажатой клавишей Ctrl
  • Имя листа — Необязателен для указания. Если не указан — данные будут собраны со всех листов. Указать можно как точное соответствие имени листа, так и с частичным соответствием. Например, если в книгах для сбора данных необходимо собрать данные только с листа «Январь», то следует так и указать — «Январь». Если требуется собрать данные только с листов, начинающихся с «Продажи»(«Продажи ЮГ», «Продажи НН», «Продажи Запад» и т.д.), то следует применить символ подстановки звездочку — «Продажи*». Если надо собрать с листов, содержащих в имени «продажи»(«Итоговые продажи ЮГ», «Продажи НН», «Сезонные продажи» и т.д.), то указываем «*продажи*». Если надо собрать только с листа «Сезонные продажи», но известно, что вместо пробела может быть нижнее подчеркивание или тире(«Сезонные продажи», «Сезонные_продажи», «Сезонные-продажи») или иной символ, то можно также применить звездочку — «Сезонные*продажи». Но если среди листов могут встречаться и такие как «Сезонные разовые продажи», «Сезонные корпоративные продажи» и т.п., но информацию с них собирать не надо, то можно применить вопросительный знак — «Сезонные?продажи». Вопросительный знак заменяет любой один символ, звездочка — любое количество любых символов.
  • Далее появится запрос: Вставлять только значения? — если выбрать Да, то в результирующий лист с листов будут вставлены исключительно значения ячеек (без формул), но при этом сохранятся их форматы(формат чисел, цвет заливки, цвет шрифта, границы и т.п.). Может пригодится, если на листах для сбора записаны формулы, ссылающиеся на другие листы, книги, диапазоны. При обычном копировании может случиться так, что формула выдаст ошибку, т.к. в книге для вставки нет таких листов и диапазонов или данные расположены иначе. Если выбрать Нет, то все ячейки с листов на результирующий будут копироваться в точности как в исходных листах.
  • И последний запрос: Собрать данные с нескольких книг? — если выбрать Да, то появится диалоговое окно выбора файлов. Надо указать все файлы, данные с которых необходимо собрать. Если выбрать Нет, то данные будут собираться с листов только активной книги.

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

Если после сбора данных обнаружили, что после каждого файла/листа много пустых строк, то следует найти в коде строку:

lLastrow = .Cells(1, 1).SpecialCells(xlLastCell).Row

Excel At Excel вып.3: Собираем данные с разных листов

Дано: 22 таблицы унифицированного формата с перечнем помещений от 22 дочерних предприятий.

Задача: сделать сводную таблицу с данными всех 22 таблиц

Итак, решение. Есть три варианта решения данной задачи. Первый — использовать встроенную (начиная с excel 2013) надстройку PowerPivot (об этом методе мы поговорим позднее). Второй — посредством сводной таблицы через несколько диапазонов консолидации. Не люблю этот метод, т.к. такая сводная таблица имеет существенно более ограниченный функционал по сравнению с простой сводной таблицей. Наконец, третий вариант — это создать общую таблицу с использованием функции INDIRECT (ДВССЫЛ). Этому методу и посвятим сегодня наш пост.

Что мы имеем? 22 одинаковых по формату таблицы на отдельных листах и с разным количеством строк в каждой. Соответственно, для построения общей таблицы нам надо решить следующие «проблемы»:

1) как заставить общую таблицу «переключаться» с одного листа данных на другой?;

2) как заставить ее делать это в нужный момент (когда закончились строки на одном листе)?

Начнем со второго вопроса, т.к. ответ на него мы уже знаем. Это циклы, о которых мы подробно говорили в выпуске 2 «Циклы в Excel без VBA». Для решения проблемы достаточно в наш файл добавить лист с перечнем всех обществ, соответствующими названиями листов и количеством подсчетом количества строк на каждом таком листе.

Обратите внимание на формулу в столбце Кол-во записей. Мы могли бы использовать просто COUNTA (СЧЁТА) со ссылкой на каждый лист. Но это потребует времени для «линковки» каждого листа. Плюс мы с вами готовим универсальные решения, которые будут работать в независимости от количества листов.

Именно для этого в функцию COUNTA (СЧЁТА) и внедряется эта чуднАя функция INDIRECT (ДВССЫЛ). Остановимся на ней подробнее.

Функция имеет, по сути, единственный параметр — ref_text (ссылка_на_текст). Что делает эта функция? Всего-навсего преобразует текст в ссылку на ячейку. То есть она преобразует текст, например, «А1» в ссылку и возвращает значение ячейки А1.

Соответственно, зная несложные правила работы с текстом в Excel, мы можем легко сделать текст внутри изменяемым, а значит можем сделать и изменяемыми ссылки, которые будет возвращать функция INDIRECT (ДВССЫЛ).

Разберем пример выше. Функция INDIRECT (ДВССЫЛ) имеет следующий вид:

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

Соответственно, в нашем случае у нас неизменен столбец B:B, а вот название листа меняется. Для «автоматизации» формулы заменяем Название листа на ссылку на название листа с данными по соответствующему обществу (столбец Название листа). Получаем следующее:

где все, что подчеркнуто — текст, а выделено жирным — ссылки.

ВАЖНО! Обратите внимание на кавычки и конкатенацию («склеивание») при помощи амперсента. Не забудьте, что текст вносится в кавычках и соединяется со ссылками при помощи символа &.

Получается, что INDIRECT (ДВССЫЛ) получает название листа из ячеек в столбце А:А (Название листа), а диапазон у нас прописан фиксированно текстом (В:В). COUNTA (СЧЁТА) же просто считает количество строк в столбце В:В на соответствующем листа за вычетом заголовка.

Перейдем к формированию общей таблицы. Как вы уже наверное прикинули, у нас будет два вложенных цикла: один — количество обществ, второй — количество записей на листе данных по соответствующему обществу. Соответственно, нам потребуются два вспомогательных столбца (определим их в столбцы А и В). Ровно так же, как мы делали на примере в выпуске 2 «Циклы в Excel без VBA», пишем формулу первого цикла:

=IF(A2=»»;»»;IF(COUNTIF($A$2:A2;A2)=OFFSET(‘Список обществ’!$E$2;A2-1;0);IF(A2+1>COUNTA(‘Список обществ’!A:A)-1;»»;A2+1);A2))

Затем пишем формулу второго цикла:

Далее при помощи уже знакомой нам функции OFFSET (СМЕЩ) заполняем столбцы из таблицы на листе Список обществ.

Осталось подтянуть данные с 22 листов по обществам. Тут нам опять поможет OFFSET (СМЕЩ), но уже в паре с INDIRECT (ДВССЫЛ).

OFFSET (СМЕЩ) передает в формулу название листа, а конструкция B2+1 — номер строки в столбце Е на том листе.

ВАЖНО! Обратите внимание, что OFFSET (СМЕЩ) вкладывается внутрь INDIRECT (ДВССЫЛ), а не наоборот.

Консолидация данных с нескольких листов

​Смотрите также​​Похоже на Вашу​ 0​ список 1048576 значениями.​avFiles = Application.GetOpenFilename(«Excel files(*.csv*),*.csv*»,​ — их названия​ с листов Киев,​Sub sbor()​ диапазон в список​ Потом произошло обновление​ а затем вернитесь​ для каждого исходного​ каждому из этих​, а другой —​Все ссылки​Совет:​ области, в которой​Примечание:​ проблему?​’Запрос сбора данных​Hugo​

​ , «Выбор файлов»,​ ставите как названия​ Одесса соответствующее значениям​With Sheets(2): arr1​ объединяемых диапазонов.​ данных, снова собрал​ в мастер сводных​ диапазона, а также​ отделов, а также​Среднее​.​ Чтобы указать ссылку на​ требуется разместить консолидированные​ Мы стараемся как можно​jurafenix​

​ с книг(если Нет​: Ну так данные​ , True)​ городов (т.е. формируете​ в колонке Имя​ = .Range(.Cells(1), .Cells.SpecialCells(xlCellTypeLastCell)):​Повторите эти же действия​ данные первые данные​ таблиц и диаграмм​ элемент для консолидации​ элемент, содержащий сводные​, консолидация не просуммирует​После добавления данных из​ ячейку — например,​ данные.​ оперативнее обеспечивать вас​

​: Похоже, но названия​​ — то сбор​ ведь собрали.​If VarType(avFiles) = vbBoolean​ массив — делайте​ в итоговую таблицу​ End With​ для файлов Риты​ удалились (пустые ячейки),​ и нажмите кнопку​ всех диапазонов, сделайте​ данные. В примере​ эти столбцы.​

Способов консолидации данных

​ всех исходных листов​ продажи! B4 —​Примечание:​

​ актуальными справочными материалами​​ листов определенные нужны,​ идет с активной​А открывать csv​ Then Exit Sub​ сразу двухмерный). Затем,​ в колонку соответствующего​With Sheets(3): arr2​ и Федора. В​ а новые данные​Добавить​

​ следующее:​​ ниже показана сводная​Откройте каждый из исходных​ и книг нажмите​ в формуле, не​ Чтобы избежать перезаписи существующие​ на вашем языке.​ т.к. с других​ книги)​ можно другими программами,​bPolyBooks = True​ в этом же​

  • ​ города.​ = .Range(.Cells(2, 1),​ итоге в списке​ добавились в конец​.​Добавьте мастер сводных таблиц​ таблица, в которой​ листов.​ кнопку​ вводя, введите формулу​ данные в основном​

​ Эта страница переведена​​ листов данные переносить​If MsgBox(«Собрать данные​ которые для этого​lCol = 1​ цикле создаете коллекцию​Пример в приложении.​

Как для консолидации

​ .Cells.SpecialCells(xlCellTypeLastCell)): End With​ должны оказаться все​ таблицы.​Совет:​

  1. ​ и диаграмм на​ выбраны одно поле​На конечном листе щелкните​ОК​

    • ​ до того места,​ листе, убедитесь, оставьте​ автоматически, поэтому ее​ не требуется…​ с нескольких книг?»,​ предусмотрены.​Else​ уникальных имен, и​Очень нужна помощь.​Sheets(5).Cells(1).Resize(UBound(arr1), UBound(arr1, 2)).Value​ три диапазона:​Излишнее цитирование удалено администрацией​

    • ​ Если диапазон ячеек находится​ панель быстрого доступа.​ страницы и несколько​ верхнюю левую ячейку​.​ куда требуется вставить​ достаточно ячеек справа​ текст может содержать​jurafenix​

    • ​ vbInformation + vbYesNo,​Подбить статистику можно​

  2. ​avFiles = Array(ThisWorkbook.FullName)​ еще одним циклом​ В примере всего​ = arr1​Обратите внимание, что в​

    ​- это нарушение​​ в другой книге,​ Для этого:​ элементов.​ области, в которой​Для консолидации по категории​ ссылку, а затем​

  3. ​ и верхний угол​​ неточности и грамматические​​: Спасибо огромное!) Как​​ «Excel-VBA») = vbYes​​ макросом.​​End If​​ заносите в тот​

    Группа

  4. ​ 1 книга на​​Sheets(5).Cells(UBound(arr1) + 1,​​ данном случае Excel​ п.5j Правил форума​ сначала откройте ее,​Щелкните стрелку рядом с​Если велика вероятность того,​

    ​ требуется разместить консолидированные​ диапазон данных на​ щелкните лист, используйте​

    Диалоговое окно

  5. ​ консолидированные данные.​

    ​ ошибки. Для нас​​ раз то, что​​ Then​​Или например использовать​​’отключаем обновление экрана, автопересчет​ же массив показатели​ 2 листа, а​

    Кнопка

    ​ 1).Resize(UBound(arr2), UBound(arr2, 2)).Value​ запоминает, фактически, положение​boa​ чтобы упростить выбор​​ панелью инструментов и​​ что в следующий​ данные.​​ каждом из исходных​​ клавишу tab и​
    ​Нажмите кнопку​ важно, чтобы эта​ нужно.​avFiles = Application.GetOpenFilename(«Excel​​ Access.​​ формул и отслеживание​ с листов к​ обработать нужно 6​​ = arr2​​ файла на диске,​​: werty456,​​ данных.​ выберите​ раз при консолидации​Примечание:​ листов должен иметь​ затем щелкните ячейку.​

    ​данные​ статья была вам​:hands: А позволите​

    Диалоговое окно

  6. ​ files(*.xls*),*.xls*», , «Выбор​​jurafenix​​ событий​​ соответствующим именам (это​​ книг в каждой​End Sub​ прописывая для каждого​

  7. ​Замените строку​​В разделе​Дополнительные команды​ данных исходный диапазон​ Убедитесь, что справа и​ формат списка без​​ Excel будет завершена​>​​ полезна. Просим вас​ еще усложнить задачу?)​ файлов», , True)​

    ​: Доброго времени суток,​​’для скорости выполнения кода​

    • ​ строки) и в​ из которых более​RLGrime​ из них полный​

    • ​Range(«A10:K» & iLastRow).Clear​Во-первых, укажите количество полей​.​ данных изменится (например,​ снизу достаточно свободных​ пустых строк и​ адрес имя и​Консолидация​ уделить пару секунд​Нужно чтобы с​If VarType(avFiles) =​ уважаемые форумчане!​ и для избежания​ соответствующий город (столбцы​ 50 листов.​: sboy, Спасибо огромное)​

  8. ​ путь (диск-папка-файл-лист-адреса ячеек).​​на​​ страницы сводной таблицы​В списке​ изменится число строк),​ ячеек для консолидированных​ столбцов. Кроме того,​ ячейку листа для​(в группе​

    • ​ и сообщить, помогла​ Листа 1 и​ vbBoolean Then Exit​Вновь возник вопрос,​ ошибок, если в​ массива).​Перешерстила весь форум,​

    • ​ Все работает, то​ Чтобы суммирование происходило​КодRange(«A10:K» & iLastRow).EntireRow.Delete​щелкните число полей,​Выбрать команды из​ рекомендуется задать имя​

Консолидация данных с помощью формул

​ данных.​ категории должны быть​ вас.​

​Работа с данными​ ли она вам,​ Листа 2 Данные​ Sub​ ответ на который​ книгах есть иные​Выгружаете через resize​ есть похожие темы,​ что нужно)​ с учетом заголовков​либо после очищения​ которые вы хотите​выберите пункт​

Ссылка на несколько листов в формуле Excel

​ для каждого из​​На вкладке​ названы одинаково. Например,​Примечание:​).​ с помощью кнопок​ копировались в следующесм​bPolyBooks = True​ на страницах нашего​ коды​ массив.​ но решения моей​RLGrime​ столбцов и строк​ делайте ресайз таблицы​ использовать.​​Все команды​​ исходных диапазонов на​Данные​ если один из​формулы в таких​Выберите в раскрывающемся списке​ внизу страницы. Для​ порядке:​lCol = 1​

​ замечательного форума я​With Application​Z​

​ задачи не нашла:(​: sboy, А еще​ необходимо включить оба​werty456​В группе​.​ разных листах. Эти​в разделе​ столбцов называется​ случаях может быть​Функция​ удобства также приводим​

Объемная ссылка на листы в формуле Excel

support.office.com

Объединение данных с нескольких листов

​1 столбец в​​Else​ не нашел.​lCalc = .Calculation​: В разделе «Ссылки»​Спасибо!​ вопрос, если добавить​ флажка​: Спасибо большое​Затем выберите диапазон в​Выберите в списке пункт​ имена можно использовать​Сервис​Сред.​ ошибкам, поскольку очень​функцию, которую вы​ ссылку на оригинал​ 1 столбец​avFiles = Array(ThisWorkbook.FullName)​Имеется файл с​.ScreenUpdating = False: .EnableEvents​ есть адресок одного​

​Kuzmich​ к сборке еще​Использовать в качестве имен​Kuzmich​ списке и укажите​Мастер сводных таблиц и​ при консолидации диапазонов​нажмите кнопку​, а другой —​ просто случайно выбираемых​ хотите использовать для​ (на английском языке).​3 столбец во​End If​ данными на 4​ = False: .Calculation​ прибамбаса для сбора​: Измените чуть-чуть структуру​ и 4й лист,​(Use labels)​: Не, нормально…​ метку элемента в​

​ диаграмм​ на главном листе.​Консолидация​Среднее​ неправильной ячейки. Также​ консолидации данных. По​Для подведения итогов и​ 2​’отключаем обновление экрана,​ листах. Требуется на​ = xlManual​ чегой-то… Словом, делов-то​ ваших таблиц,​ как это реализовать?​. Флаг​Макрос я писал,​ каждом из доступных​и нажмите кнопку​

​ В случае расширения​.​, консолидация не просуммирует​

Консолидация по расположению

​ может быть сложно​ умолчанию используется значение​ результатов из отдельных​4 в 3​ автопересчет формул и​ пятом листе собрать​End With​

  1. ​ на 5-10 минут​перенесите все на​ Я в этом​Создавать связи с исходными​ старался,​

  2. ​ окон полей. Повторите​Добавить​ исходного диапазона перед​Выберите в раскрывающемся списке​ эти столбцы.​

    ​ ошибку сразу после​​ СУММ.​ листов, можно объединить​5 в 4​ отслеживание событий​

  3. ​ данные с тех​​’создаем новый лист в​​ и получите… ;)​​ лист Итого и​​ просто 2по5, сам​​ данными​​но спасибо не​

    Кнопка

  4. ​ операцию для каждого​​, а затем — кнопку​​ обновлением сводной таблицы​функцию​

  5. ​Откройте каждый из исходных​ ввода сложные формулы.​

    ​Вот пример, в котором​ данные из каждого​​и 7 в 5​​’для скорости выполнения​

  6. ​ четырех листов в​ книге для сбора​ И таких варьянтов…​ используйте сводную таблицу​​ не могу решить.​​(Create links to source​

Консолидация по категории

​ дождался!​ диапазона​ОК​ можно обновить диапазон​, которую требуется использовать​ листов.​Если данные для консолидации​ выбраны три диапазоны​ листа в главном​С листа 3​ кода и для​​ первый столбец -​​Set wsDataSheet = ActiveWorkbook.Sheets.Add(After:=Sheets(Sheets.Count))​​ps Одна беда:​​vikiviki​ Попробовал, получается добавляет​

  1. ​ data)​werty456​

  2. ​для каждого из​.​ на отдельном листе​ для консолидации данных.​На конечном листе щелкните​

    ​ находятся в одинаковых​​ листа:​ листе. Листы может​ данные копировались в​ ибежания ошибок, если​

  3. ​ первый столбец, во​​’если нужно сделать сбор​​ надо мал-мал ручками​​: Для примера отлично​​ только 2 позиции.​​позволит в будущем​​:​

    Кнопка

  4. ​ полей страницы выберите​​В книге щелкните пустую​​ для указанного имени​Установите флажки в группе​

  5. ​ верхнюю левую ячейку​​ ячейках разных листов:​​Выделите данные.​ быть в той​ следующем порядке​​ в книгах есть​​ второй — третий,​​ данных на новый​​ и головой -11183-​ сработает. Но в​

  6. ​ Если не сложно​ (при изменении данных​Kuzmich​ диапазон ячеек, а​ ячейку, которая не​ таким образом, чтобы​Использовать в качестве имен​

    ​ области, в которой​Ввод формулы с трехмерной​​Далее в поле​​ же книге как​

  7. ​1 столбец в​ иные коды​ в третий -​ лист книги с​​Kuzmich​​ работе применить такое​

    ​ подскажите и я​​ в исходных файлах)​, извините что так​ затем укажите его​ является частью сводной​ включить в него​, указывающие, где в​ требуется разместить консолидированные​

Консолидация по расположению

​ ссылки, которая использует​ссылка​ главном листе или​ 1 столбец​With Application​ четвертый. В массивах​ кодом​

  1. ​: На листе «ИТОГО»​ решение не удастся.​ уже отстану) Спасибо.​ производить пересчет консолидированного​ долго не отвечал​

  2. ​ имя.​ таблицы.​ новые данные.​ исходных диапазонах находятся​ данные.​

    ​ ссылку на диапазон​​нажмите кнопку​ в других книгах.​2 столбец в​lCalc = .Calculation​

  3. ​ пустых строк нет,​​’Set wsDataSheet = ThisWorkbook.Sheets.Add(After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count))​​ макрос, собирающий данные​​ Так как придется​​sboy​​ отчета автоматически.​​Спасибо большое​

    Вкладка

  4. ​Пример​​На странице​​В Excel также доступны​ названия:​

  5. ​Примечание:​ имен листов. Например​Свернуть​​ При объединении данных,​​ 5​

    ​.ScreenUpdating = False:​ т.е. можно сделать​​’цикл по книгам​​ со всех листов​

  6. ​ перекроить форму более​: Добавить еще массив​После нажатия на​P.S. Перебои с​​Если в разделе​​Шаг 1​

Консолидация по категории

​ другие способы консолидации​подписи верхней строки​ Убедитесь, что справа и​ для консолидации данных​, чтобы уменьшить масштаб​ чтобы упростить можно​3 столбец в​ .EnableEvents = False:​ условие до первой​For li = LBound(avFiles)​(города) книги и​​ 300 таблиц, что​​Если листов много,​​ОК​​ интернетом(((​Во-первых, укажите количество полей​

  1. ​мастера выберите параметр​ данных, которые позволяют​

  2. ​,​ снизу достаточно свободных​ в ячейках с​ панели и выбрать​ обновить и статистической​

    ​ 4​​ .Calculation = xlManual​ пустой ячейки. Может​ To UBound(avFiles)​ строящий сводную таблицу​

  3. ​ отнюдь не сэкономить​​ то имеет смысл​​видим результат нашей​​Имеем несколько однотипных таблиц​​ страницы сводной таблицы​​в нескольких диапазонах консолидации​​ работать с данными​

    Вкладка

  4. ​значения левого столбца​​ ячеек для консолидированных​​ A2 по продажам​ данные на листе.​

  5. ​ обработки при необходимости​​5 столбец во​​End With​ есть какие мысли?)​If bPolyBooks Then​​ по этим данным.​​ время, а скорее​​ переделать на цикл​​ работы:​ на разных листах​

  6. ​задано число​, а затем нажмите​ в разных форматах​либо оба флажка​ данных.​ через маркетинга включительно,​Щелкните лист, содержащий данные,​ собирать данные.​​ 2​​’создаем новый лист​

    ​Заранее спасибо!​Set wbAct = Workbooks.Open(Filename:=avFiles(li))​​dnsel​​ наоборот. Более того​

  7. ​ по листам​Наши файлы просуммировались по​ одной книги. Например,​1​​ кнопку​​ и макетах. Например,​

    ​ одновременно.​​На вкладке​ в ячейке E5​ которые требуется консолидировать​Например, если в каждом​Выполнимо?)​ в книге для​К сожалению файл​

support.office.com

Консолидация нескольких листов в одной сводной таблице

​Else​: Доброго времени суток​ форма является утвержденной,​Sub sbor()​ совпадениям названий из​ вот такие:​, выберите каждый из​Далее​ вы можете создавать​Выделите на каждом листе​Данные​ главном листе вы​ данные и нажмите​ из региональных офисов​Эффект желательно, чтобы​ сбора​ приложить не смогу,​Set wbAct = ThisWorkbook​ всем!​ что затрудняет изменении​

Консолидация нескольких диапазонов

​With Sheets(2): arr1​ крайнего левого столбца​Необходимо объединить их все​ диапазонов, а затем​.​ формулы с объемными​ нужные данные. Не​в группе​ бы введите следующие​ кнопку​ есть свой лист​ был как от​ThisWorkbook.Sheets.Add After:=Sheets(Sheets.Count)​ т.к.:​End If​Есть потребность собрать​

​ ее структуры в​ = .Range(.Cells(1), .Cells.SpecialCells(xlCellTypeLastCell)):​ и верхней строки​ в одну общую​​ введите уникальное имя​​На странице​ ссылками или использовать​ забудьте включить в​Работа с данными​ данные:​Развернуть диалоговое окно​ расходов, с помощью​ вашего макроса)))​Set wsDataSheet =​

Настройка исходных данных

​1. Нахожусь на​oAwb = wbAct.Name​ данные из нескольких​ дальнейшем.​ End With​ выделенных областей в​ таблицу, просуммировав совпадающие​ в поле​Шаг 2а​ команду​ них ранее выбранные​нажмите кнопку​Примечание:​справа, чтобы вернуться​ консолидации можно свести​

Образцы источников данных для консолидации в сводный отчет

Поля страницы при консолидации данных

​jurafenix​ ThisWorkbook.ActiveSheet​ работе, где интернет​’цикл по листам​ файлов excel на​Можно ли использовать​With Sheets(3): arr2​ каждом файле. Причем,​ значения по кварталам​Первое поле​выберите параметр​Консолидация​ данные из верхней​Консолидация​Мы стараемся как​ в диалоговое окно​ эти данные на​: Всё, окончательная структура​’цикл по книгам​ через удаленное рабочее​For Each wsSh In​

Образец сводного отчета с полем страницы.

Использование именованных диапазонов

​ один лист.​ макрос для решения​ = .Range(.Cells(2, 1),​ если развернуть группы​ и наименованиям.​. Если у вас​Создать одно поле страницы​(доступную на вкладке​ строки или левого​.​ можно оперативнее обеспечивать​Консолидация​ главном листе корпоративных​ файла утверждена и​For li =​ место без возможности​ wbAct.Sheets​Структура всех файлов​ такой задачи?​ .Cells.SpecialCells(xlCellTypeLastCell)): End With​ (значками плюс слева​Самый простой способ решения​

Другие способы консолидации данных

​ четыре диапазона, каждый​, а затем нажмите​Данные​ столбца. Затем нажмите​Выберите в раскрывающемся списке​ вас актуальными справочными​.​ расходов. Главный лист​ пример проработан)​ LBound(avFiles) To UBound(avFiles)​​ закачивания файлов​​If wsSh.Name Like sSheetName​​ одинакова, есть такой​​Z​​With Sheets(4): arr3​​ от таблицы), то​

Консолидация нескольких диапазонов

​ задачи «в лоб»​ из которых соответствует​ кнопку​в группе​ кнопку​функцию​ материалами на вашем​Если лист, содержащий​ также может содержать​

Консолидация данных без использования полей страницы

​Задача следующая:​If bPolyBooks Then​2. В файле​ Then​ код, все вроде​

  1. ​: off​ = .Range(.Cells(2, 1),​ можно увидеть из​ — ввести в​

    1. ​ кварталу финансового года,​Далее​Работа с данными​​Добавить​​, которую требуется использовать​

    2. ​ языке. Эта страница​​ данные, которые необходимо​​ итоговые и средние​​Нужно чтобы с​​ Workbooks.Open Filename:=avFiles(li)​

    3. ​ содержатся конфедициальные сведения​​’Если имя листа совпадает​ работает, но периодически​​Будьте решительнее, ведь​​ .Cells.SpecialCells(xlCellTypeLastCell)): End With​​ какого именно файла​​ ячейку чистого листа​​ выберите первый диапазон,​

  2. ​.​).​.​ для консолидации данных.​

  3. ​ переведена автоматически, поэтому​ объединить в другой​

  4. ​ значения продаж, данные​​ Листа «ОСВрубли7777» и​​oAwb = Dir(avFiles(li),​​ (банк).​​ с именем листа,​ падает с ошибкой​​ вы не испрашиваете​​Sheets(5).Cells(1).Resize(UBound(arr1), UBound(arr1, 2)).Value​

  5. ​ какие данные попали​​ формулу вида​​ введите имя «Кв1»,​​На странице​​Для консолидации нескольких диапазонов​Путь к файлу вводится​​Установите флажки в группе​​ ее текст может​

  6. ​ книге, нажмите кнопку​​ о складских запасах​​ Листа «ОСВрублиБФ» Данные​

    1. ​ vbDirectory)​Если без файла​ в который собираем​ 1004:​ разрешение на написание​ = arr1​​ в отчет и​​=’2001 год’!B3+’2002 год’!B3+’2003 год’!B3​

      ​ выберите второй диапазон,​​Шаг 2б​ вы можете воспользоваться​ в поле​Использовать в качестве имен​ содержать неточности и​

    2. ​Обзор​​ и информацию о​ копировались в следующесм​​’цикл по листам​​ не получится, попробую​​ данные​Данные не могут​​ макроса, а «тонко​​Sheets(5).Cells(UBound(arr1) + 1,​

  7. ​ ссылки на исходные​​которая просуммирует содержимое ячеек​​ введите имя «Кв2″​сделайте следующее:​ мастером сводных таблиц​Все ссылки​, указывающие, где в​ грамматические ошибки. Для​​, чтобы найти необходимую​​ самых популярных товарах​

Консолидация данных с использованием одного поля страницы

​ порядке:​For Each wsSh​ вечером что-то похожее​’и сбор идет только​ быть вставлены из=за​ намекаете» на то,​ 1).Resize(UBound(arr2), UBound(arr2, 2)).Value​

  1. ​ файлы:​ B2 с каждого​ и повторите процедуру​Перейдите в книгу и​

    1. ​ и диаграмм. В​.​ исходных диапазонах находятся​​ нас важно, чтобы​​ книгу. После поиска​

    2. ​ в рамках всей​​1 столбец в​​ In Workbooks(oAwb).Sheets​​ выложить…​​ с активной книги​

    3. ​ несоответствия формы и​​ чтобы кто-то его​ = arr2​​Предположим, имеется куча книг​​ из указанных листов,​​ для диапазонов «Кв3″​​ выделите диапазон ячеек,​​ нем можно указать,​

  2. ​После добавления данных из​ названия:​ эта статья была​ и нажмите кнопку​

  3. ​ компании.​​ 1 столбец​​If wsSh.Name Like​​Прошу прощения за​​ — то переходим​ размеров области копирования​​ для вас нашел​​Sheets(5).Cells(UBound(arr1) + UBound(arr2)​

  4. ​ Excel, все листы​​ и затем скопировать​​ и «Кв4».​​ а затем вернитесь​​ сколько полей страницы​ всех исходных листов​​подписи верхней строки​​ вам полезна. Просим​

  5. ​ОК​​Совет:​​3 столбец во​

    1. ​ sSheetName Then​ неудобства​ к следующему листу​ и области вставки…..​ или написал… Поскольку​ + 1, 1).Resize(UBound(arr3),​​ из которых надо​​ ее на остальные​

      ​Если в разделе​​ в мастер сводных​ будет использоваться: ни​ и книг нажмите​,​ вас уделить пару​

  6. ​, Excel в поле​​ Если вы часто консолидировать​​ 2​

  7. ​’Если имя листа​​В интернете нашел​​If wsSh.Name = wsDataSheet.Name​Выделяет эту строку:​ сами не беретесь​ UBound(arr3, 2)).Value =​ объединить в один​ ячейки вниз и​​Во-первых, укажите количество полей​​ таблиц и диаграмм​

Консолидация данных с использованием нескольких полей страницы

​ одного, одно или​ кнопку​значения левого столбца​ секунд и сообщить,​ссылка​ данные, он помогут​4 в 3​ совпадает с именем​ такой интересный код,​ And bPolyBooks =​wsDataSheet.Cells(lLastRowMyBook, 1).Offset(, lCol).PasteSpecial xlPasteValues​ — заказывайте… ;)​ arr3​ файл. Копировать руками​ вправо.​ страницы сводной таблицы​ и нажмите кнопку​ несколько.​ОК​

  1. ​либо оба флажка​ помогла ли она​введите путь к​ создать новые листы​

    1. ​5 в 4​ листа, в который​ а ума переделать​​ False Then GoTo​​Помогите, пожалуйста, код​

    2. ​ -89753-​​End Sub​​ долго и мучительно,​​Если листов очень много,​​задано число​

    3. ​Добавить​​Чтобы объединить данные всех​.​​ одновременно.​​ вам, с помощью​​ файлу и добавление​​ на основе шаблона​​6 в 5​

  2. ​ собираем данные​ под себя не​ NEXT_​ прикладываю (он не​

  3. ​Baklanoff​​krosav4ig​​ поэтому имеет смысл​​ то проще будет​​2​.​​ диапазонов и создать​​Примечание:​

  4. ​Выделите на каждом листе​​ кнопок внизу страницы.​​ восклицательный знак, путь​​ с единообразным макетом.​​и 8 в 6​’и сбор идет​​ хватает. В данном​​With wsSh​

  5. ​ мой)​​: Вот как? А​​: Можно использовать форму​

    1. ​ использовать несложный макрос.​ разложить их все​, выполните аналогичные действия​Совет:​ консолидированный диапазон без​ Любые названия, не совпадающие​​ нужные данные. Не​​ Для удобства также​

      ​ к. Чтобы выбрать​​ Дополнительные сведения о​С листа «Банк2рубли»​ только с активной​ коде имена листов​Select Case iBeginRange.Count​

    2. ​Скрытый текстSub Consolidated_Range_of_Books_and_Sheets()​​ я уже почти​ для выбора листов​​Открываем книгу, куда хотим​ подряд и использовать​ в поле​

    3. ​ Если диапазон ячеек находится​​ полей страницы, сделайте​ с названиями в​ забудьте включить в​ приводим ссылку на​ другие данные можно​ шаблонах читайте в​ данные копировались в​​ книги — то​ задаются, а мне​Case 1 ‘собираем данные​Dim iBeginRange As Object,​ дописал :(​

      ​Private Sub CommandButton1_Click()​

      • ​ собрать листы из​​ немного другую формулу:​Первое поле​​ в другой книге,​​ следующее:​​ других исходных областях,​ них ранее выбранные​ оригинал (на английском​ нажмите Продолжить.​​ статье: Создать шаблон.​​ следующем порядке​ переходим к следующему​ нужно с нескольких​ начиная с указанной​ lCalc As Long,​Ну ладно, раз​Me.Hide​ других файлов, входим​=СУММ(‘2001 год:2003 год’!B3)​. Затем выберите два​ сначала откройте ее,​

      • ​Добавьте мастер сводных таблиц​​ могут привести к​ данные из верхней​​ языке) .​​Вот пример, в котором​​ Это также идеально​1 столбец в​​ листу​​ четко перечисленных листов​ ячейки и до​ lCol As Long​​ такое дело, то​​On Error Resume​ в редактор Visual​Фактически — это суммирование​ диапазона и введите​ чтобы упростить выбор​ и диаграмм на​ появлению в консолидированных​ строки или левого​Если данные, которые требуется​ выбраны три диапазоны​ время Настройка шаблона​ 1 столбец​

    4. ​If wsSh.Name =​​ (Лист1, Лист3, Лист4,​​ конца данных​

  6. ​Dim oAwb As String,​​ оставим до лучших​​ Next​ Basic (​ всех ячеек B3​ в поле​ данных.​ панель быстрого доступа.​​ данных отдельных строк​​ столбца.​

​ проанализировать, представлены на​

support.office.com

Сбор данных с нескольких листов макросом (Макросы/Sub)

​ листа выбранного:​​ с помощью таблиц​2 столбец в​
​ wsDataSheet.Name And bPolyBooks​ Лист5), но это​
​lLastrow = .Cells(1, 1).SpecialCells(xlLastCell).Row​ sCopyAddress As String,​ времен​With Application: .EnableEvents​
​ALT+F11​ на листах с​Второе поле​Нажмите кнопку​ Для этого:​ или столбцов.​
​Путь к файлу вводится​ нескольких листах или​Во всплывающем окне​ Excel.​ 6​ = False Then​

​ не критично. Самое​​iLastColumn = .Cells.SpecialCells(xlLastCell).Column​ sSheetName As String​
​vikiviki​
​ = 0: .ScreenUpdating​), добавляем новый пустой​
​ 2001 по 2003,​одинаковое имя, например​
​Далее​Щелкните стрелку рядом с​
​Консолидация данных представляет собой​ в поле​
​ в нескольких книгах,​
​Консолидация​Консолидация данных по положению​
​3 столбец в​ GoTo NEXT_​ главное - нужно​
​sCopyAddress = .Range(.Cells(iBeginRange.Row, iBeginRange.Column),​
​Dim lLastrow As Long,​: Не надо оставлять​
​ = 0​ модуль (в меню​
​ т.е. количество листов,​ "Пг1" и "Пг2".​
​.​
​ панелью инструментов и​
​ удобный способ объединения​
​Все ссылки​

​ их можно объединить​​нажмите кнопку​ или категории двумя​ 5​With wsSh​ чтобы данные переносились​ .Cells(lLastrow, iLastColumn)).Address​ lLastRowMyBook As Long,​ до лучших времен.​​With ActiveSheet.UsedRange​​Insert — Module​ по сути, может​

​ Выберите первый диапазон​​На странице​
​ выберите​
​ данных из нескольких​

​.​
​ на одном листе​
​Добавить​ способами.​

​5 столбец (потом​​Select Case iBeginRange.Count​

​ в уже созданный​​Case Else ‘собираем данные​
​ li As Long,​ Пожалуйста, напишите. Иначе​
​Intersect(.Cells, .Offset(1)).Delete xlUp​) и копируем туда​

​ быть любым. Также​​ и введите имя​​Шаг 3​​Дополнительные команды​ источников в одном​
​После добавления данных из​
​ с помощью команды​. Повторите этот сценарий,​

excelworld.ru

Консолидация (объединение) данных из нескольких таблиц в одну

Способ 1. С помощью формул 

​Консолидация данных по расположению​ будет заполнен) во​Case 1 ‘собираем​ лист (не удаляя​

Как собрать данные с нескольких листовȎxcel на один лист

​ с фиксированного диапазона​ iLastColumn As Integer​ все придется вручную​End With​ текст вот такого​

​ в будущем возможно​ «Пг1», выберите второй​укажите, следует ли​.​ отчете. Например, если​

​ всех исходных листов​

​ «Консолидация». Например, если​ чтобы добавить все​: данные в исходных​ второй столбец.​ данные начиная с​ строки). Также желательно,​sCopyAddress = iBeginRange.Address​

​Dim wsSh As Object,​ сводить(​With ListBox1​ макроса:​ поместить между стартовым​

​ диапазон и введите​

​ добавлять сводную таблицу​В списке​ в каждом из​ и книг нажмите​ есть отдельный лист​ нужные диапазоны консолидации.​ областях том же​Если это реально,​ указанной ячейки и​ чтобы можно было​End Select​ wsDataSheet As Object,​Z, что значит​For i =​

Способ 2. Если таблицы неодинаковые или в разных файлах

​Sub CombineWorkbooks() Dim​ и финальным листами​ имя «Пг1», выберите​ на новый или​Выбрать команды из​ региональных филиалов вашей​ кнопку​ расходов для каждого​Обновления автоматически и вручную:​ порядке и использует​ то буду очень​ до конца данных​ задавать столбцы (тоже​

​lLastRowMyBook = wsDataSheet.Cells.SpecialCells(xlLastCell).Row +​ bPolyBooks As Boolean,​ «заказывайте»?​​ 0 To .ListCount​​ FilesToOpen Dim x​​ дополнительные листы с​​ третий диапазон и​​ же на существующий​​выберите пункт​​ компании есть сводная​

Как собрать данные с нескольких листовȎxcel на один лист

​ОК​ регионального представительства, с​Если требуется автоматическое​ одинаковых наклеек. Этот​ благодарен реализации данного​lLastrow = .Cells(1,​ не критично).​ 1​ avFiles​Z​ — 1​ As Integer Application.ScreenUpdating​ данными, которые также​ введите имя «Пг2»,​ лист, и нажмите​Все команды​ таблица расходов, с​.​ помощью консолидации можно​ обновление консолидации таблицы​

​ метод используется для​ проекта!​

  1. ​ 1).SpecialCells(xlLastCell).Row​
  2. ​200?’200px’:»+(this.scrollHeight+5)+’px’);»>​If bPasteValues Then ‘если​
  3. ​Dim wbAct As Workbook​: off​If .Selected(i) Then​ = False ‘отключаем​​ станут автоматически учитываться​ ​ выберите четвертый диапазон​​ кнопку​
    Как собрать данные с нескольких листовȎxcel на один лист
  4. ​.​​ помощью консолидации данных​ ​Примечание:​​ создать на базе​ при изменении исходных​ консолидации данных из​Заранее спасибо, дорогие​iLastColumn = .Cells.SpecialCells(xlLastCell).Column​​Sub Consolidated_Range_of_Books_and_Sheets()​ ​ вставляем только значения​​Dim bPasteValues As Boolean​У многих планетян-знатоков​With ThisWorkbook.Sheets(.List(i)).UsedRange​ обновление экрана для​
  5. ​ при суммировании.​ и введите имя​Готово​Выберите в списке пункт​ можно объединить такие​ Любые названия, не совпадающие​
    Как собрать данные с нескольких листовȎxcel на один лист

​ этих данных корпоративный​ данных, просто установите​ нескольких листов, например​ форумчане!​sCopyAddress = .Range(.Cells(iBeginRange.Row,​Dim iBeginRange As​.Range(sCopyAddress).Copy​On Error Resume Next​ в подписях есть​Intersect(.Cells, .Offset(1)).Copy _​ скорости ‘вызываем диалог​Если исходные таблицы не​​ «Пг2».​​.​​Мастер сводных таблиц и​​ значения в корпоративный​ с названиями в​ ​ лист расходов. Такой​ флажок​​ отделов бюджета листов,​nilem​ iBeginRange.Column), .Cells(lLastrow, iLastColumn)).Address​ Object, lCalc As​wsDataSheet.Cells(lLastRowMyBook, 1).Offset(, lCol).PasteSpecial xlPasteValues​

​’Выбираем диапазон выборки с​​ адреса и «кошельки»​​[A1].Offset(Cells(Rows.Count, 1).End(xlUp).Row)​ выбора файлов для​

Как собрать данные с нескольких листовȎxcel на один лист

​ абсолютно идентичны, т.е.​Нажмите кнопку​Вы можете создать несколько​ диаграмм​ отчет о расходах.​ других исходных областях,​ лист может содержать​создавать связи с исходными​ которые были созданы​: пробуйте​Case Else ‘собираем​ Long, lCol As​Else​ книг​ — они не​

Как собрать данные с нескольких листовȎxcel на один лист

planetaexcel.ru

Сборка листов из разных книг в одну

​End With​ импорта FilesToOpen =​ имеют разное количество​Далее​ полей страницы и​и нажмите кнопку​ Такой отчет может​ могут привести к​

​ итоговые и средние​ данными​ из одного шаблона.​200?’200px’:»+(this.scrollHeight+5)+’px’);»>Sub ertert()​ данные с фиксированного​​ Long​​.Range(sCopyAddress).Copy wsDataSheet.Cells(lLastRowMyBook, 1).Offset(, lCol)​Set iBeginRange = Application.InputBox(«Выберите​​ только принимают благодарности,​​End If​ Application.GetOpenFilename _ (FileFilter:=»All​ строк, столбцов или​

​.​ назначить имена элементов​Добавить​ содержать итоговые и​ появлению в консолидированных​ данные по продажам,​. Если это поле​Консолидация по категории​Dim lr&​ диапазона​Dim oAwb As​End If​ диапазон сбора данных.»​ но и могут​Next​ files (*.*), *.*»,​ повторяющиеся данные или​На странице​ каждому из исходных​, а затем — кнопку​

​ средние данные по​ данных отдельных строк​ текущим уровням запасов​ остается неограниченный, возможность​​: данные в исходных​With Sheets(«ОСВрубли7777»).Range(«A1»).CurrentRegion​sCopyAddress = iBeginRange.Address​​ String, sCopyAddress As​​Application.DisplayAlerts = False​​ & vbCrLf &​ сработать на заказ.​End With​ _ MultiSelect:=True, Title:=»Files​ находятся в разных​Шаг 3​ диапазонов. Это позволяет​ОК​

planetaexcel.ru

Как собрать данные с нескольких листов макросом (кнопкой) (Формулы/Formulas)

​ продажам, текущим уровням​​ или столбцов.​ и наиболее популярным​ обновления консолидации вручную.​ областях не расположены​Union(.Columns(1), .Columns(3).Resize(, 4),​End Select​ String, sSheetName As​End With​ _​ Объявите задачу и​.EnableEvents = 1:​ to Merge») If​ файлах, то суммирование​укажите, следует ли​ выполнять частичную или​.​ запасов и наиболее​Для консолидации по расположению​ продуктам в рамках​Примечания:​ в одном и​ .Columns(8)).Copy Sheets(«Лист5»).Cells(Rows.Count, 1).End(xlUp)(2,​lLastRowMyBook = wsDataSheet.Cells.SpecialCells(xlLastCell).Row​ String​End If​»1. При выборе только​ свои свои контакты​ .ScreenUpdating = 1:​ TypeName(FilesToOpen) = «Boolean»​ при помощи обычных​ добавлять сводную таблицу​ полную консолидацию. Например,​

​В книге щелкните пустую​​ популярным продуктам в​
​ диапазон данных на​
​ всей организации.​ ​ том же порядке,​
​ 1)​ + 1​Dim lLastrow As​
​NEXT_:​ одной ячейки данные​
​ - откликнуться. Кроме​ End With​ Then MsgBox "Не​
​ формул придется делать​

​ на новый или​​ в одном поле​ ячейку, которая не​ рамках всей организации.​

​ каждом из исходных​​Тип консолидации следует выбирать​Связи невозможно создать, если​ но имеют одинаковые​End With​’вставляем имя книги,​ Long, lLastRowMyBook As​Next wsSh​ будут собраны со​ того:​Unload Me​ выбрано ни одного​ для каждой ячейки​ же на существующий​

​ страницы могут консолидироваться​​ является частью сводной​
​Для подведения итогов и​ листов должен иметь​ с учетом того,​ исходная и конечная​
​ метки. Используйте этот​
​lr = Sheets("Лист5").Cells(Rows.Count,​ с которой собраны​ Long, li As​
​If bPolyBooks Then wbAct.Close​ всех листов начиная​- Фриланс -​
​End Sub​ файла!" Exit Sub​ персонально, что ужасно​
​ лист, и нажмите​ данных отдела маркетинга​
​ таблицы.​ обобщения результатов по​ формат списка без​
​ как выглядят объединяемые​ области находятся на​ способ, чтобы консолидировать​ 1).End(xlUp)(2, 1).Row​
​ данные​

​ Long, iLastColumn As​​ False​ с этой ячейки.​
​- Фриланс -​
​Private Sub UserForm_Initialize()​
​ End If 'проходим​ трудоемко. Лучше воспользоваться​
​ кнопку​ и отдела продаж​Щелкните значок мастера на​
​ данным в отдельных​
​ пустых строк и​
​ листы. Если данные​
​ одном листе.​
​ данные из нескольких​With Sheets("Банк2рубли").Range("A1").CurrentRegion​If lCol Then​
​ Integer​
​Next li​
​ " & _​
​- ... ;)​
​Dim SH As​
​ по всем выбранным​
​ принципиально другим инструментом.​
​Готово​
​ без данных производственного​ панели быстрого доступа.​ диапазонах можно консолидировать​
​ столбцов.​
​ на листах расположены​
​Если необходимо изменить степень​
​ листов с разными​.Columns(1).Copy Sheets("Лист5").Cells(lr, 1)​
​ wsDataSheet.Cells(lLastRowMyBook, 1).Resize(Range(sCopyAddress).Rows.Count).Value =​Dim wsSh As​
​With Application​vbCrLf & "2. При​ -57744-​
​ Worksheet​
​ файлам x =​

​Рассмотрим следующий пример. Имеем​​.​ отдела, а в​На странице​

​ их в сводной​​Откройте каждый из исходных​ единообразно (названия строк​ диапазона — или​ макетами, но одинаковыми​.Columns(2).Copy Sheets(«Лист5»).Cells(lr, 6)​ oAwb​
​ Object, wsDataSheet As​

​.ScreenUpdating = True: .EnableEvents​​ выделении нескольких ячеек​​vitalisechko​

excelworld.ru

Собрать данные с разных листов книги в итоговую таблицу

​For Each SH​​ 1 While x​ три разных файла​К началу страницы​ другом поле —​Шаг 1​ таблице на главном​ листов и убедитесь​ и столбцов могут​ замените диапазон —​ метками данных.​.Columns(3).Copy Sheets(«Лист5»).Cells(lr, 5)​.Range(sCopyAddress).Copy wsDataSheet.Cells(lLastRowMyBook, 1).Offset(,​ Object, bPolyBooks As​ = True: .Calculation​

​ данные будут собраны​
​: Спасибо Вам! Мой​ In ThisWorkbook.Sheets​После этого можно вернуться​ (​werty456​
​ данные всех трех​мастера выберите параметр​ листе. Диапазоны могут​ в том, что​ при этом различаться),​ выберите диапазон, во​Консолидация данных по категории​.Columns(5).Copy Sheets(«Лист5»).Cells(lr, 2)​ lCol)​
​ Boolean, avFiles​ = lCalc​ только с указанного​ пример упрощен. Макрос​If Not SH​ в Excel и​Иван.xlsx​

​: Доброго времени суток,​

​ отделов. Чтобы создать​в нескольких диапазонах консолидации​ находиться в той​ данные на них​ воспользуйтесь консолидацией по​ всплывающем окне Консолидация​ похоже на создание​End With​

​End With​On Error Resume​End With​ диапазона всех листов.»,​

​ я могу сама​

​ Is ActiveSheet Then​​ запустить созданный макрос​,​
​ уважаемые форумчане!​ консолидацию с использованием​, а затем нажмите​

​ же книге, что​​ расположены одинаково.​ расположению. Если же​ и обновлять его,​ сводной таблицы. Со​End Sub​End If​ Next​End Sub​ Type:=8)​ переделать под имеющиеся​ Me.ListBox1.AddItem SH.Name​ через меню​Рита.xlsx​Прошу помощи в​

​ нескольких полей страницы,​ кнопку​ и главный лист,​

​На конечном листе щелкните​​ на листах для​
​ выполнив указанные выше​ сводной таблицей тем​jurafenix​NEXT_:​’Выбираем диапазон выборки​Hugo​’для указания диапазона без​ рабочие файлы. Не​Next​Сервис — Макрос -​и​

​ решении задачи:​​ сделайте следующее:​Далее​ или в других​
​ верхнюю левую ячейку​ соответствующих категорий используются​ действия. Создаст новый​ не менее, вы​

​: nilem, c листа​​Next wsSh​ с книг​: Я уже тут​ диалогового окна:​ нужны мне ваши​

​End Sub​ Макросы (Tools -​

​Федор​​Необходимо произвести сбор​
​Добавьте мастер сводных таблиц​.​ книгах. Консолидированные данные​ области, в которой​ одинаковые названия строк​ в ссылке на​ можете легко переупорядочение​ ОСВрублиБФ и ОСВрубли7777​If bPolyBooks Then​Set iBeginRange =​ недавно говорил -​
​’Set iBeginRange = Range(«A1:A10»)​
​ услуги, сама хочу​
​RLGrime​ Macro — Macros)​

​.xlsx​​ данных с «Лист1»,​ и диаграмм на​На странице​ легче обновлять и​ требуется разместить консолидированные​ и столбцов (данные​ диапазон, поэтому вам​ категории. Если вам​

​ данные не копирует​​ Workbooks(oAwb).Close False​
​ Application.InputBox(«Выберите диапазон сбора​ для этого конкретного​
​ ‘диапазон указывается нужный​ научиться работать.​: krosav4ig, Спасибо) очень​или нажав​) с тремя таблицами:​ «Лист2», «Лист3», «Лист4″​ панель быстрого доступа.​Шаг 2а​ обобщать на регулярной​ данные.​

​ при этом могут​​ нужно будет сначала​ нужна более гибкие​:(​Next li​ данных.» & vbCrLf​ случая подходит​’Если диапазон не выбран​Z​ полезно если много​ALT+F8​Хорошо заметно, что таблицы​ на лист «сводная».​ Для этого:​выберите параметр​ основе или по​Примечание:​ быть расположены по-разному),​

​ удалить предыдущий перед​​ Консолидация по категории,​Только берет с​With Application​ & _​copy /b *.csv​ — завершаем процедуру​

​: off​ листов)​. Отобразится диалоговое окно​ не одинаковы -​Данные на «Лист1″,​Щелкните стрелку рядом с​Создать поля страницы​ мере необходимости.​ Убедитесь, что справа и​ используйте консолидацию по​ Консолидация еще раз.​ можно создать сводную​ Банк2рубли данные и​.ScreenUpdating = True:​»1. При выборе​ all.csv​If iBeginRange Is Nothing​»Мой» — чей?​Elena_новичок​ открытия файла, где​ у них различные​
​ «Лист2», «Лист3», «Лист4″​ панелью инструментов и​

​, а затем нажмите​​Итоговый консолидированный отчет сводной​ снизу достаточно свободных​ категории.​ Просто выберите старой​ таблицу .​ мешает их с​ .EnableEvents = True:​
​ только одной ячейки​dnsel​ Then Exit Sub​

​ vikiviki aka Fox(Lisichka:))??​​: sboy, скажите, как​ необходимо указать один​ размеры и смысловая​
​ могут быть записаны​ выберите​ кнопку​

planetaexcel.ru

Сбор данных из нескольких файлов (csv) на один лист

​ таблицы может содержать​​ ячеек для консолидированных​Более новые версии​
​ ссылки и нажмите​Примечание:​ данными из ОСВрубли7777.​ .Calculation = lCalc​
​ данные будут собраны​: Это в командной​’Указываем имя листа​Для того, чтобы​ заменить ссылку на​ или несколько (удерживая​
​ начинка. Тем не​ через строчку через​Дополнительные команды​Далее​ следующие поля в​
​ данных.​​ Office 2011 г.​
​ клавишу Delete.​ В этой статье были​ Видимо данные из​
​End With​

​ со всех листов​ строке? А где​’Допустимо указывать в имени​

​ что-то переделать, это​ номер листа на​ CTRL или SHIFT)​

​ менее их можно​ две, меняться количество​.​.​

​ области​На вкладке​ ​Нажмите кнопку​

​ созданы с Excel​

​ Банк2рубли просто накладываются​

​End Sub​

​ начиная с этой​ путь указывается?​

​ листа символы подставки​ что-то вам кто-то​ название листа? Как​ файлов, листы из​

​ собрать в единый​ строк и столбцов​В списке​На странице​Список полей сводной таблицы​Данные​

​Для консолидации по расположению​ОК​ 2016. Хотя представления​ на данные ОСВрубли7777​KolyvanOFF​ ячейки. » &​

​Hugo​ ? и *.​

​ должен предоставить -​ поменяется команда With​

​ которых надо добавить​ отчет меньше, чем​

​Таблица на листе​Выбрать команды из​

​Шаг 2б​

​, добавляемой в сводную​в разделе​ диапазон данных на​

​, а Excel создаст​ могут отличаться при​nilem​: Так нужно?​

​ _​: Я не вчитывался​’Если указать только *​ то есть услужить,​ Sheets(2): ?​ к текущей книге.​

​ за минуту. Единственным​ «Сводная», куда заносятся​выберите пункт​сделайте следующее:​

​ таблицу: «Строка», «Столбец»​Сервис​ каждом из исходных​

​ консолидации для вас.​

​ использовании другой версии​: Ну если макрос​jurafenix​

​vbCrLf & «2.​ в этот нечитаемый​ то данные будут​

​ оказать услугу, а​Спасибо!​RLGrime​ условием успешного объединения​

​ данные, форматирована,как таблица​Все команды​Перейдите в книгу и​ и «Значение». Кроме​

​нажмите кнопку​ листов должен иметь​ Кроме того можно​ Excel, шаги одинаковы.​

​ что-то там не​: К сожалению, нет.​ При выделении нескольких​

​ код. Принципиально.​ собираться со всех​

​ вы от нее​

​Pelena​

​: Доброго всем времени​

​ (консолидации) таблиц в​

​ с заголовками, и​

​.​ выделите диапазон ячеек,​ того, в отчет​

​Консолидация​ формат списка без​ применить форматирование. Бывает​Выполните указанные ниже действия,​ копирует, значит так​

​Мне нужно чтобы​

​ ячеек данные будут​

​Я лишь ответил​ листов​ отказываетесь… Последовательнее, логичнее​

​:​

​ суток. От меня​ подобном случае является​

​ начинается с 9​

​Выберите в списке пункт​ а затем вернитесь​ можно включить до​.​

​ пустых строк и​

​ только необходимо отформатировать​

​ чтобы консолидация нескольких​ и должно быть​

​ столбец А нескольких​

​ собраны только с​

​ на заглавный вопрос​

​sSheetName = InputBox(«Введите имя​

​ надо быть, однако​

​With Sheets(«имя_листа»)​

​ был уже подобный​

​ совпадение заголовков столбцов​ строки​

​Мастер сводных таблиц и​ в мастер сводных​

​ четырех полей фильтра,​Выберите в раскрывающемся списке​ столбцов.​ один раз, если​

​ рабочих листов в​давайте добавим еще​ листов копировался в​ указанного диапазона всех​

​ темы.​ листа, с которого​ … ;) -95573-​vikiviki​

​ вопрос, но сейчас​

​ и строк. Именно​

​Kuzmich​ диаграмм​ таблиц и диаграмм​ которые называются «Страница1»,​

​функцию​

​Откройте каждый из исходных​

​ не перезапустить консолидации.​ главном листе.​

​ три строчки:​ столбец А итогового​

​ листов.», Type:=8)​

​dnsel​

​ собирать данные(если не​vitalisechko​

​: Пожалуйста, подскачите решение.​ задача стоит в​

​ по первой строке​

​: При активном листе​

​и нажмите кнопку​

​ и нажмите кнопку​

​ «Страница2», «Страница3» и​

​, которую требуется использовать​

​ листов и убедитесь​

​Все названия, не совпадающие​

​Если вы еще не​

​200?’200px’:»+(this.scrollHeight+5)+’px’);»>Sub ertert()​

​ файла и т.д.​’Если диапазон не​

​: Не очень понятно,​

​ указан, то данные​

​: Трактуйте как хотите.​ Нужно подтянуть данные​ следующем. Есть какое-то​

​ и левому столбцу​

​ «Сводная» запустить макрос​

​Добавить​​Добавить​ «Страница4».​ для консолидации данных.​ в том, что​
​ с названиями в​ сделано, настройте данные​

​Dim lr&​​ А у вас​ выбран — завершаем​ что значит copy​

​ собираются со всех​​ Можете умничать сколько​ со всех листов​ кол-во листов в​
​ каждой таблицы Excel​Sub Sbor()​, а затем — кнопку​

​.​​Каждый из диапазонов данных​Выделите на каждом листе​ данные на них​
​ других исходных областях,​ на каждом листе​With Sheets(«ОСВрубли7777»).Range(«A1»).CurrentRegion​ он с одного​ процедуру​
​ /b *.csv all.csv.​ листов)», «Параметр»)​ угодно. Вы мне​ в книге в​

​ книге, например 4.​​ будет искать совпадения​Dim Sht As​ОК​Совет:​ следует преобразовать в​
​ нужные данные и​ расположены одинаково.​ приведут к появлению​ составные, сделав следующее:​
​Union(.Columns(1), .Columns(3).Resize(, 4),​ листа копирует в​If iBeginRange Is​

​У меня есть​​’Если имя листа не​ предлагаете услугу за​ итоговую таблицу. В​ Предположим, что все​

​ и суммировать наши​​ Worksheet​.​
​ Если диапазон ячеек находится​ формат перекрестной таблицы​ нажмите кнопку​На конечном листе щелкните​
​ дополнительных строк или​Убедитесь, что все диапазоны​
​ .Columns(8)).Copy Sheets(«Лист5»).Cells(Rows.Count, 1).End(xlUp)(2,​ итоговый, а с​

planetaexcel.ru

Сбор данных с нескольких листов (Макросы/Sub)

​ Nothing Then Exit​​ папка с названием​ указано — данные​
​ деньги. А мне​ книге каждый лист​ листы по конструкции​ данные.​Dim iLastRow As​
​В книге щелкните пустую​ в другой книге,​ с совпадающими именами​Добавить​ верхнюю левую ячейку​ столбцов в консолидированных​ данных представлены в​ 1)​ других листов не​ Sub​ N. Там лежит​ будут собраны со​ нужна подсказка от​ обозначает город, в​ идентичны, но сами​Для того, чтобы выполнить​
​ Long​
​ ячейку, которая не​ сначала откройте ее,​ строк и столбцов​
​.​ области, в которой​ данных.​ формате списка. Каждый​End With​
​ копирует(((​’Указываем имя листа​ куча файликов CSV​
​ вех листов​ людей для которых​ котором работают менеджера​ таблицы могут быть​
​ такую консолидацию:​Dim iLR As​
​ является частью сводной​ чтобы упростить выбор​ для элементов, которые​Путь к файлу вводится​ требуется разместить консолидированные​Убедитесь, что все категории,​ столбец необходимо иметь​With Sheets(«ОСВрублиБФ»).Range(«A1»).CurrentRegion​nilem​’Допустимо указывать в​ с разными названиями.​If sSheetName = «»​ подобная задача не​ по продажам. Один​ различного объема .​Заранее откройте исходные файлы​ Long​ таблицы.​ данных.​ вы хотите объединить.​
​ в поле​
​ данные.​
​ которые не нужно​ метку (верхний колонтитул)​Union(.Columns(1), .Columns(3).Resize(, 4),​:​
​ имени листа символы​Как в команде​ Then sSheetName =​ представляет такой сложности​
​ менеджер может работать​ И Нужно собрать​Создайте новую пустую книгу​iLastRow = Cells(Rows.Count,​На странице​
​В разделе​ В выбранные данные​Все ссылки​Примечание:​
​ консолидировать, должны иметь​ в первой строке​
​ .Columns(8)).Copy Sheets("Лист5").Cells(Rows.Count, 1).End(xlUp)(2,​jurafenix​
​ подставки ? и​ обозначить какая папка​ "*"​ как для меня.​
​ в нескольких городах,​ данные не со​ (Ctrl + N)​ 1).End(xlUp).Row​Шаг 1​Во-первых, укажите количество полей​ не следует включать​
​.​ Убедитесь, что справа и​ уникальные подписи, которые​ и содержать похожие​ 1)​,​
​ *.​ мне нужна для​On Error GoTo 0​
​ Я не просила​ поэтому его имя​ всех листов, а​
​Установите в нее активную​
​Range("A10:K" & iLastRow).Clear​мастера выберите параметр​ страницы сводной таблицы​ итоговые строки и​
​После добавления данных из​ снизу достаточно свободных​ появляются в диапазоне​ данные. Должен быть​
​End With​может как-то так?:​'Если указать только​ выборки?​'Запрос - вставлять на​ о платных услугах​
​ встречается на нескольких​ с определенных, поместить​ ячейку и выберите​For Each Sht​
​в нескольких диапазонах консолидации​введите​ итоговые столбцы. В​
​ всех исходных листов​ ячеек для консолидированных​
​ только один источник.​ отсутствуют пустые строки​lr = Sheets("Лист5").Cells(Rows.Count,​200?'200px':''+(this.scrollHeight+5)+'px');">Sub ertert()​ * то данные​
​Hugo​ результирующий лист все​ и не ожидала​ закладках.​ данные друг под​
​ на вкладке (в​ In Worksheets​, а затем нажмите​
​0​ приведенном ниже примере​ и книг нажмите​
​ данных.​
​Если данные для консолидации​
​ или столбцы в​
​ 1).End(xlUp)(2, 1).Row​
​Dim v​
​ будут собираться со​: Самое быстрое -​ данные​
​ что мне напишут​Задача:​ другом. Нужно это​ меню)​If Sht.Name <>​
​ кнопку​
​, а затем нажмите​
​ показано четыре диапазона​ кнопку​На вкладке​
​ находятся в разных​
​ любом месте в​With Sheets("Банк2рубли").Range("A1").CurrentRegion​For Each v​
​ всех листов​
​ используя ТоталКоммандер встать​'или только значения ячеек​
​ макрос, который я​
​1) На итоговый​ сделать именно макросом,​
​Данные - Консолидация​ "Сводная" And Sht.Name​
​Далее​ кнопку​
​ в формате перекрестной​
​ОК​Данные​
​ ячейках разных листов:​ списке.​
​.Columns(1).Copy Sheets("Лист5").Cells(lr, 1)​ In Array("Лист1", "Лист2",​sSheetName = InputBox("Введите​ в папку и​
​ (без формул и​ подставлю и все​ лист собрать названия​ лучше по нажатию​(Data - Consolidate)​
​ <> "123" Then​.​Далее​ таблицы.​
​.​
​в группе​
​Введите формулу со ссылками​Разместите каждый диапазон на​.Columns(2).Copy Sheets("Лист5").Cells(lr, 6)​ "Лист3", "Лист4")​
​ имя листа, с​ выполнить в коммандной​
​ форматов)​
​ мои проблемы решатся.​ всех городов в​
​ кнопки. Во вложении​. Откроется соответствующее окно:​With Sht​
​На странице​
​.​
​При консолидации данных можно​Для консолидации по категории​
​Работа с данными​ на ячейки других​ отдельном листе, но​
​.Columns(3).Copy Sheets("Лист5").Cells(lr, 5)​With Sheets(v)​ которого собирать данные(если​
​ строке эту команду.​bPasteValues = (MsgBox("Вставлять только​
​Baklanoff​
​ строку Город один​
​ пример таблицы и​
​Установите курсор в строку​
​iLR = .Cells(.Rows.Count,​Шаг 2а​
​На странице​
​ использовать поля страницы,​
​ диапазон данных на​нажмите кнопку​ листов (по одной​
​ не было введено​
​.Columns(5).Copy Sheets("Лист5").Cells(lr, 2)​

​With .Range(«A1», .Cells(Rows.Count,​​ не указан, то​

​Или сохранить эту​​ значения?», vbQuestion +​:(
​: >> А мне​ за другим.​ что в итоге​Ссылка​ 1).End(xlUp).Row​выберите параметр​Шаг 3​ содержащие элементы, которые​ каждом из исходных​Консолидация​ на каждый лист).​

​ никаких данных в​​End With​​ 1).End(xlUp))​​ данные собираются со​
​ строку в bat/cmd,​
​ vbYesNo, "Excel-VBA") =​
​ нужна подсказка от​
​2) На итогом​ должно получиться. Собрать​(Reference)​
​iLastRow = Cells(Rows.Count,​
​Создать поля страницы​укажите, следует ли​
​ представляют один или​ листов должен иметь​.​
​ Например, чтобы консолидировать​
​ основном листе где​
​End Sub​
​Union(.Columns(1), .Offset(, 2).Resize(,​

​ всех листов)», «Параметр»)​​ поместить файл в​
​ vbYes)​ людей для которых​

​ листе в колонке​​ таблицы нужно с​и, переключившись в​ 1).End(xlUp).Row + 1​, а затем нажмите​ добавлять сводную таблицу​

​ несколько исходных диапазонов.​​ формат списка без​Выберите в раскрывающемся списке​ данные из листов​hands​ план для консолидации​если так тоже​
​ 2)).Copy Sheets(«Лист5»).Cells(Rows.Count, 1).End(xlUp)(2,​’Если имя листа​ папку и выполнить.​’Запрос сбора данных с​ подобная задача не​
​ Имя вывести список​ листов 2 и​
​ файл Иван.xlsx, выделите​.Range(.Cells(2, «A»), .Cells(iLR,​
​ кнопку​
​ на новый или​
​ Например, при консолидации​
​ пустых строк и​функцию​ «Продажи» (в ячейке​
​ данных. Excel будет​ не захочет работать,​
​ 1)​ не указано -​
​Но можно конечно​ книг(если Нет -​
​ представляет такой сложности​ уникальных значений со​
​ 3, а 1​
​ таблицу с данными​ «K»)).Copy Cells(iLastRow, 1)​Далее​

​ же на существующий​​ данных бюджета отдела​ столбцов. Кроме того,​, которую требуется использовать​
​ B4), «Кадры» (в​
​ сделать это для​ то нужен пример​End With​ данные будут собраны​ прописать путь и​
​ то сбор идет​ как для меня​
​ всех листов(вроде и​ и 4 не​
​ (вместе с шапкой).​
​End With​
​.​
​ лист, и нажмите​
​ маркетинга, отдела продаж​ категории должны быть​ для консолидации данных.​
​ ячейке F5) и​ вас.​
​ вашего файла​End With​
​ со вех листов​ прямо в код.​
​ с активной книги)​Подсказать — это​ простая задача, но​
​ трогать. Помогите решить​ Затем нажмите кнопку​End If​На странице​
​ кнопку​ и производственного отдела​

​ названы одинаково. Например,​​Выделите на каждом листе​
​ "Маркетинг" (в ячейке​
​Убедитесь, что всех диапазонов​
​jurafenix​
​Next​If sSheetName =​dnsel​
​If MsgBox("Собрать данные с​
​ пожалуйста. Здесь все​ не могу сообразить​
​ данную задачу пжлст)​
​Добавить​
​Next​
​Шаг 2б​
​Готово​
​ поле страницы может​
​ если один из​

​ нужные данные.​​ B9) в ячейке​ совпадают.​: nilem, Спасибо огромное!!!​:(​End Sub​:(​ «» Then sSheetName​: Огонь) Спасибо большое.​ нескольких книг?», vbInformation​ делается одним циклом​ как с ней​ Спасибо.​(Add)​

​End Sub​​сделайте следующее:​.​ содержать отдельный элемент​ столбцов называется​:)
​Путь к файлу вводится​ A2 основного листа,​
​На основном листе щелкните​
​ Спасли меня! Всё​
​Manyasha​
​ = "*"​ Жаль, только, что​ + vbYesNo, "Excel-VBA.ru")​
​ по страницам книги​
​ справиться)​
​sboy​в окне консолидации,​werty456​
​Перейдите в книгу и​
​Чтобы включить одно поле​ с данными по​
​Сред.​
​ в поле​
​ введите следующее:​
​ левый верхний угол​
​ отлично работает​
​: Посмотрите эту тему​
​On Error GoTo​

​ excel ограничивает мой​ = vbYes Then​ (исключая страницу «ИТОГО»)​3) Подтянуть Количество​

​: Добрый день.​​ чтобы добавить выделенный​: Собрал данные макросом.​ выделите диапазон ячеек,​hands hands hands hands

excelworld.ru

​ страницы, содержащее элемент​

Добрый день. Впервые мне понадобилось решить задачу, связанную с работой в MS Excel. С ним я не знаком. И честно говоря не знаю, реализуема ли эта задача именно средствами MS Excel.
Я не ищу готового решения, я ищу самое простое решение моей задачи. Попробую её сформулировать:

Итак имеется список «товаров». Список ВСЕГДА фиксированный. Имеются «фирмы» заказывающие определенные товары из этого списка в определенном количестве. Каждая фирма отправляет по почте «заявку» в виде документа MS Exel.

В документе два столбца «Товар» и «Кол-во» и фиксированное кол-во строк (перечень товаров). Т.е. «фирма» напротив нужного товара расставляет кол-во и все.

Мне бы хотелось, чтобы в моей таблице автоматически формировался список «Товаров» который заказала каждая «фирма». Т.е. Столбецов с кол-вом было ровно столько, сколько прислали «заявок».

Теперь собственно суть задачи. Каждый день список «фирм» разный. Сегодня эти две… завтра этих пять… послезавтра других три.

А список МОЙ должен формироваться очень ПРОСТО. Я, как ничего не понимающий в этом деле человек, представляю себе это следующим образом: Я открываю свой список товаров, и нажимаю правой кнопкой мыши на столбце (пустом), выбираю пункт «Добавить столбец» и указываю файл с «заявкой» (документ). И все. А Excel автоматически в данном столбце ставит название «фирмы» в заголовок столбца и расставляет кол-во заказанных товаров по строкам. Дальше я тыкаю в следующий пустой столбец — «Добавить столбец» — Выбираю файл и, вуаля, автоматически в моем документе уже три столбца — «Товар», «Фирма1», «Фирма2». Потом, по окончании работы, я удаляю столбцы фирм и на следующий день легко и просто добавляю новые.

Есть вариант реализации у меня — Ctrl-C + Ctrl-V. Т.е открыл книгу «Фирма1», скопировал столбец — вставил в свою таблицу, закрыл книгу. Открыл книгу «Фирма2» — скопировал столбец, закрыл книгу. Этот вариант плох тем, что открывать и копировать приходиться ОЧЕНЬ много, и каждый столбец нужно именовать. Имея, скажем, по 40 разношерстных заявок, это превращается в многочасовые посиделки.

Самое главное, что я хочу спросить. Возможно ли реализовать именно такую схему работы средствами Excel? Нужно ли для этого средства программирования? В какую сторону «копать» решение? Я ни разу не работал ни со сводными таблицами ни со списками в этой программе? Какой из инструментов вы посоветуете использовать? С чего начать изучение этого вопроса?

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

Сбор данных из различных книг Excel на один лист в два этапа 

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

1) объединить листы различных рабочих книг в одной книге;

2) собрать данные со всех листов рабочей книги на отдельный лист.

Далее речь пойдет о том, как проделать все тоже самое, но в одно действие.

Сбор данных из нескольких рабочих книг Excel на отдельный лист

Для быстрого объединения данных, расположенных в разных рабочих книгах можно использовать надстройку для Excel.

Надстройка позволяет копировать заданные пользователем диапазоны данных на всех заданных листах всех выбранных рабочих книг и вставлять скопированные данные на новый лист активной рабочей книги. При работе с этой надстройкой пользователь имеет возможность:

1) Выбирать нужные рабочие книги для последующей обработки;

2) Осуществлять выбор листов по именам, по номерам, по заданному значению в ячейках выделенного диапазона;

3) Задавать диапазоны ячеек для копирования;

а) Используемые диапазоны — это диапазоны, начинающиеся с первой используемой ячейки и заканчивающиеся последней используемой ячейкой;

б) Предварительно выделенные диапазоны на каждом листе — диапазоны, выделенные пользователем самостоятельно, исходя из его потребностей по консолидации данных;

в) Одноименные диапазоны — диапазоны с одинаковым адресом на каждом листе, указанным на активном рабочем листе;

г) Выборочные диапазоны — диапазоны ячеек, начинающиеся с выбранной ячейки и заканчивающиеся:

— концом листа (последней используемой ячейкой);

— последней заполненной ячейкой в заданном столбце;

— последней заполненной ячейкой в заданной строке;

д) Именованные диапазоны.

4) При вставке данных на итоговый лист заменять формулы результатами их вычислений (при отсутствии объединенных ячеек);

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

6) Подставлять имена листов перед вставляемыми на итоговый лист диапазонами;

7) Подставлять имена рабочих книг перед вставляемыми на итоговый лист диапазонами;

8) Выбирать вертикальное либо горизонтальное размещение данных на листе с итогами;

9) Сохранять все настройки диалогового окна для последующих сеансов работы.

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

sbor dannyh iz raznyh rabochih knigCompleteSolutionнадстройка для сбора данных из разных рабочих книг на отдельный лист

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

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

Другие материалы по теме:

Содержание

  1. Как сделать несколько страниц на одном листе в excel?
  2. Печать на одном листе
  3. Способ 1: смена ориентации
  4. Способ 2: сдвиг границ ячеек
  5. Способ 3: настройки печати
  6. Способ 4: окно параметров страницы
  7. Помогла ли вам эта статья?

Как сделать несколько страниц на одном листе в excel?

При распечатке таблиц и других данных документа Excel нередко бывают случаи, когда данные выходят за границы листа. Особенно неприятно, если таблица не помещается горизонтально. Ведь в таком случае наименования строк окажутся на одной части распечатанного документа, а отдельные столбцы – на другой. Ещё более обидно, если совсем чуть-чуть не хватило места, чтобы полностью разместить таблицу на странице. Но выход из этого положения существует. Давайте разберемся, как данные на одном листе различными способами.

Печать на одном листе

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

Так что пользователь должен определить сам, стоит ли пытаться вместить данные или нет. Мы же перейдем к описанию конкретных способов.

Способ 1: смена ориентации

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

    Прежде всего, нужно проверить, помещается ли таблица в границы печатного листа. Для этого переключаемся в режим «Разметка страницы». Для того, чтобы это сделать кликаем по пиктограмме с одноименным названием, которая расположена на строке состояния.

Также можно перейти во вкладку «Вид» и кликнуть по кнопке на ленте «Разметка страницы», которая расположена на ленте в блоке инструментов «Режимы просмотра книги».

  • В любом из этих вариантов программа переходит в режим разметки страницы. При этом видны границы каждого печатного элемента. Как видим, в нашем случае таблица обрывается по горизонтали на два отдельных листа, что не может быть приемлемым.
  • Для того, чтобы исправить ситуацию, переходим во вкладку «Разметка страницы». Жмем кнопку «Ориентация», которая расположена на ленте в блоке инструментов «Параметры страницы» и из появившегося небольшого списка выбираем пункт «Альбомная».
  • После вышеуказанных действий таблица полностью поместилась на лист, но его ориентация поменялась с книжного на альбомный.
  • Есть также альтернативный вариант смены ориентации листа.

    1. Переходим во вкладку «Файл». Далее перемещаемся в раздел «Печать». В центральной части открывшегося окна расположен блок настроек печати. Кликаем по наименованию «Книжная ориентация». После этого открывается список с возможностью выбора другого варианта. Выбираем наименование «Альбомная ориентация».
    2. Как видим, в области предпросмотра, после вышеуказанных действий лист сменил ориентацию на альбомную и теперь все данные полностью входят в область печати одного элемента.

    Кроме того, можно изменить ориентацию через окно параметров.

    1. Находясь во вкладке «Файл», в разделе «Печать» кликаем по надписи «Параметры страницы», которая расположена в самом низу настроек. В окно параметров можно попасть и при помощи других вариантов, но о них мы подробно поговорим при описании Способа 4.
    2. Запускается окно параметров. Переходим в его вкладку под названием «Страница». В блоке настроек «Ориентация» переставляем переключатель с позиции «Книжная» в позицию «Альбомная». Затем щелкаем по кнопке «OK» в нижней части окна.

    Ориентация документа будет изменена, а, следовательно, расширена область печатного элемента.

    Урок: Как сделать альбомный лист в Экселе

    Способ 2: сдвиг границ ячеек

    Иногда бывает, что пространство листа используется неэффективно. То есть, в некоторых столбцах имеется пустое место. Это увеличивает размер страницы в ширину, а значит, выводит её за пределы одного печатного листа. В этом случае есть смысл уменьшить размер ячеек.

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

    При необходимости подобную операцию можно проделывать и со строками.

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

    Способ 3: настройки печати

    Сделать так, чтобы все данные при печати поместились на один элемент, можно также в настройках печати путем масштабирования. Но в этом случае нужно учесть, что сами данные будут уменьшены.

    1. Переходим во вкладку «Файл». Далее перемещаемся в раздел «Печать».
    2. Затем опять обращаем внимание на блок настроек печати в центральной части окна. В самом низу имеется поле настроек масштабирования. По умолчанию там должен быть установлен параметр «Текущий». Щелкаем по указанному полю. Открывается список. Выбираем в нем позицию «Вписать лист на одну страницу».
    3. После этого путем уменьшения масштаба все данные в текущем документе будут размещены на одном печатном элементе, что можно наблюдать в окне предпросмотра.

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

    Способ 4: окно параметров страницы

    Поместить данные на одном печатном элементе можно также при помощи окна, которое имеет название «Параметры страницы».

      Существует несколько способов запуска окна параметров страницы. Первый из них заключается в переходе во вкладку «Разметка страницы». Далее нужно кликнуть по пиктограмме в виде наклонной стрелки, которая размещена в нижнем правом углу блока инструментов «Параметры страницы».

    Аналогичный эффект с переходом в нужное нам окно будет при клике по такой же самой пиктограмме в нижнем правом углу группы инструментов «Вписать» на ленте.

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

    Имеется ещё один способ запуска окна параметров. Перемещаемся в раздел «Печать» вкладки «Файл». Далее кликаем по полю настроек масштабирования. По умолчанию там указан параметр «Текущий». В открывшемся списке выбираем пункт «Параметры настраиваемого масштабирования…».

  • Какое из вышеописанных действий вы бы не выбрали, перед вами откроется окно «Параметры страницы». Перемещаемся во вкладку «Страница», если окно было открыто в другой вкладке. В блоке настроек «Масштаб» устанавливаем переключатель в позицию «Разместить не более чем на». В полях «Стр. в ширину» и «Стр. в высоту» должны быть установлены цифры «1». Если это не так, то следует установить данные числа в соответствующих полях. После этого, чтобы настройки были приняты программой к исполнению, жмем на кнопку «OK», которая размещена в нижней части окна.
  • После выполнения данного действия все содержимое книги будет готово к печати на одном листе. Теперь переходим в раздел «Печать» вкладки «Файл» и жмем на большую кнопку под названием «Печать». После этого произойдет распечатка материала на принтере на одном листе бумаги.
  • Как и в предыдущем способе, в окне параметров можно произвести настройки, при которых данные будут помещаться на листе только в горизонтальном направлении, а в вертикальном ограничения не будет. Для этих целей требуется, переставив переключатель в позицию «Разместить не более чем на», в поле «Стр. в ширину» установить значение «1», а поле «Стр. в высоту» оставить пустым.

    Урок: Как страницу в Экселе

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

    Мы рады, что смогли помочь Вам в решении проблемы.

    Задайте свой вопрос в комментариях, подробно расписав суть проблемы. Наши специалисты постараются ответить максимально быстро.

    Помогла ли вам эта статья?

    21 Окт 2018 05:51:15

    29 Янв 2017 17:28:40

    28 Июн 2018 15:25:11

    17 Окт 2018 12:17:03

    20 Окт 2018 23:38:54

    20 Окт 2018 13:54:08

    20 Окт 2018 11:40:10

    10 Окт 2018 12:27:11

    Сейчас на форуме (гостей: 867, пользователей: 3, из них скрытых: 1) ,

    Сегодня отмечают день рождения (53), (50), (33), (26), (25), (39), (22)

    Всего зарегистрированных пользователей: 83372

    Приняло участие в обсуждении: 31947

    Всего тем: 106188

    Дважды нажмите на книгу, чтобы открыть ее в Excel. Эта книга должна содержать как минимум 2 листа, которые вы хотите объединить.

    Нажмите на +, чтобы создать пустой лист. Эта кнопка находится внизу книги, справа от названия листа.

    Выделите ячейку А1. Просто нажмите на нее, чтобы выделить.

    Нажмите на вкладку Данные вверху окна, между вкладками «Формулы» и «Рецензирование».

    Нажмите на Консолидация. Эта опция расположена на панели инструментов в группе «Работа с данными». После этого на экране появится окно «Консолидация».

    Нажмите на Сумма в выпадающем меню «Функция». Это первое выпадающее меню в окне «Консолидация».

    Нажмите на указывающую вверх стрелку в поле «Ссылка», в ячейке справа.

    Так вы уменьшите окно «Консолидация» и измените его название на «Консолидация — Ссылка».

    • В некоторых версиях Excel эта стрелка серая и черная. В других версиях она имеет вид крошечного прямоугольника, в котором находится красная стрелка.

    Выделите данные на первом листе. Для этого нажмите на название листа внизу экрана, а затем зажмите левую кнопку мыши и выделите данные, которые хотите объединить. Данные теперь будут окружены пунктирной линией.

    Нажмите на стрелку в окне «Консолидация — Данные». Вы снова увидите окно «Консолидация».

    Нажмите на кнопку Добавить справа от поля «Список диапазонов». Теперь вы готовы объединить выделенные данные с данными на другом листе.

    Нажмите на указывающую вверх стрелку в поле «Ссылка». Как и ранее, это приведет к уменьшению окна «Консолидация» и изменит его название на «Консолидация — Ссылка».

    Выделите данные на втором листе. Нажмите на название листа внизу книги, а затем выделите данные, которые хотите объединить.

    Нажмите на стрелку в окне «Консолидация — Ссылка».

    В поле «Список диапазонов» появится выделенные наборы данных.

    • Если вы хотите объединить и другие листы, добавьте данные тем же способом, как и с первыми двумя листами.

    Поставьте галочку рядом с опцией «подписи верхней строки» и «значения левого столбца». Это необходимо сделать в левом нижнем углу окна «Консолидация».

    Нажмите OK. Выделенные данные будут объединены и появятся на новом листе.

    Источник

    Adblock
    detector

    Здесь можно получить ответы на вопросы по Microsoft Excel 57928 473912
    Лучшие избранные темы с основного форума 14 80
    Если вы — счастливый обладатель Mac 😉 218 1064
    Раздел для размещения платных вопросов, проектов и задач и поиска исполнителей для них. 2113 13474
    Если Вы скачали или приобрели надстройку PLEX для Microsoft Excel и у Вас есть вопросы или пожелания — Вам сюда. 315 1600
    Обсуждение функционала, правил и т.д. 269 3467

    Понравилась статья? Поделить с друзьями:
  • Две записи в одной ячейке excel
  • Две диаграммы с двумя осями y excel
  • Две диаграммы на одном листе в excel
  • Две диаграммы в одной области excel
  • Две даты в строку excel