Як зібрати дані з декількох листів або книг, excel для всіх

Наведений вище код необхідно вставити в стандартний модуль (Що таке модуль? Які бувають модулі?). Виконати його можна буде з цієї книги натисканням клавіш Alt + F8. У вікні вибрати Consolidated_Range_of_Books_and_Sheets і натиснути Виконати. Так само можна створити на аркуші кнопку і призначити їй даний макрос. Так само, якщо вперше працюєте з макросами настійно рекомендую прочитати статтю: Що таке макрос і де його шукати ?. а так само Чому не працює макрос?

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

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

Якщо після збору даних виявили, що після кожного файлу / листа багато порожніх рядків, то слід знайти в коді рядок:
lLastrow =. Cells (1. 1). SpecialCells (xlLastCell). Row
і замінити її на рядок приблизно такого змісту:
lLastrow =. Cells (. Rows. Count. 1). End (xlUp). Row
де 1 - це номер стовпця на аркушах даних, в якому шукати останню заповнену комірку.
Актуально це для файлів з однаковою структурою. Наприклад, якщо збір йде з листів з продажу, то цілком може бути таке, що в стовпці 1 може не бути даних. Тому слід визначити номер стовпчика, в якому наповнення даних максимально. Наприклад, це може бути стовпець з найменуваннями товару або з сумами. Якщо це стовпець D, то слід рядок записати так:
lLastrow =. Cells (. Rows. Count. 4). End (xlUp). Row 'шукаємо останній рядок в 4-м стовпці
Детальніше про визначення останнього рядка можна прочитати в статті: Як визначити останній осередок на аркуші через VBA?

  • Як зібрати дані з декількох листів або книг, excel для всіх
  • Як зібрати дані з декількох листів або книг, excel для всіх
  • Як зібрати дані з декількох листів або книг, excel для всіх
  • Як зібрати дані з декількох листів або книг, excel для всіх
  • Як зібрати дані з декількох листів або книг, excel для всіх
  • Як зібрати дані з декількох листів або книг, excel для всіх
  • Як зібрати дані з декількох листів або книг, excel для всіх
  • Як зібрати дані з декількох листів або книг, excel для всіх
  • Як зібрати дані з декількох листів або книг, excel для всіх
  • Як зібрати дані з декількох листів або книг, excel для всіх
  • Як зібрати дані з декількох листів або книг, excel для всіх

Пошук по мітках

Дякую Вам за код!
Зібрав дані за частку секунди. Вручну б мучився кілька годин.

Добридень!
наскільки я зрозуміла, цей макрос просто додає знизу один лист до іншого. у мене є одна таблиця, але в двох файлах, і, відповідно, частина заповнена в одній, частина в інший. Наприклад, в одному файлі рядок 1 | _ | 3 | _ | 5 |, а в іншій таблиці в тому ж рядку _ | 2 | _ | 4 | _
чи можна з'єднати ці таблиці, щоб відсутня інформація в одній таюбліце доповнилася інф = їй з іншою?

Поліна, для вирішення Вашої завдання треба весь код переписувати в частині збору даних.

Добрий день, Дмитро.

Величезне спасибі вам за ваш файл, врятувало стільки моїх зусиль. Хотів запитати. чи можна в макрос додати умова копіювати тільки з видимих ​​осередків?

Дмитро, величезне спасибі. За кодом подивився вставив після рядка Dim Paste Values ​​As Boolean (логіку макросів тільки вивчаю). Лається (duplicate declaration in current scope) і виділяє wsSh As Object. Я правильно вас зрозумів, що цей код нудно в ваш код додати.

Або код який відкриває паролі з книг потрібно давати окремим макросом?

Все ще голова обертом, Дмитро не підкажіть як можна в ваш код. додати

Dim wsSh As Object
For Each wsSh In ActiveWorkbook.Sheets
wsSh.Unprotect "1234"
Next wsSh
або я не туди пішов.

Дмитро, дякую дуже корисно і цікаво! Підкажіть будь ласка, а як перемістити дані не на новий створений лист а на існуючий?