Note: The other languages of the website are Google-translated. Back to English

Як об’єднати кілька книг в одну головну книгу в Excel?

Ви коли-небудь застрягли, коли вам доводиться поєднувати кілька книг у головну книгу в Excel? Найстрашніше те, що книги, які потрібно об’єднати, містять кілька аркушів. І як об’єднати лише зазначені аркуші з кількох книг в одну книгу? Цей підручник демонструє кілька корисних методів, які допоможуть вам поетапно вирішити проблему.


Поєднайте кілька книг в одну книгу за допомогою функції переміщення або копіювання

Якщо потрібно об’єднати лише кілька книг, можна скористатися командою «Перемістити» або «Копіювати», щоб вручну перемістити або скопіювати аркуші з оригінальної книги в головну книгу.

1. Відкрийте книги, які ви об’єднаєте у головну книгу.

2. Виберіть робочі аркуші в оригінальній книзі, які ви перемістите або скопіюєте до головної книги.

Примітки:

1). Ви можете вибрати кілька суміжних робочих аркушів, утримуючи Ctrl клацання та клацання вкладки аркуша по одній.

2). Для вибору декількох сусідніх робочих аркушів клацніть на першій вкладці аркуша, утримуючи Shift , а потім клацніть на останній вкладці аркуша, щоб виділити їх усі.

3). Ви можете клацнути правою кнопкою миші на будь-якій вкладці аркуша, натиснути на Виберіть Усі аркуші у контекстному меню, щоб одночасно вибрати всі аркуші в книзі.

3. Вибравши потрібні аркуші, клацніть правою кнопкою миші вкладку аркуша, а потім клацніть Перемістити або скопіювати з контекстного меню. Дивіться знімок екрана:

4. Тоді Перемістити або скопіювати діалогове вікно вискакує в Резервувати у спадному меню виберіть головну книгу, в яку ви переміщуєте або копіюєте аркуші. Виберіть перемістити, щоб закінчити в Перед аркушем встановіть прапорець Створіть копію і нарешті клацніть на OK кнопки.

Тоді ви зможете побачити робочі аркуші у двох книгах, об’єднаних в одну. Будь ласка, повторіть наведені вище кроки, щоб перемістити аркуші з інших книг у головну книгу.


Поєднуйте декілька робочих книжок або вказані аркуші робочих книг у головну книгу з VBA

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

1. Помістіть усі книги, які ви хочете об’єднати, в одну в одному каталозі.

2. Запустіть файл Excel (ця книга буде основною книгою).

3 Натисніть кнопку інший + F11 ключі, щоб відкрити Microsoft Visual Basic для програм вікно. В Microsoft Visual Basic для програм вікна, натисніть Insert > Модулі, а потім скопіюйте код VBA у вікно модуля.

Код VBA 1: Об’єднайте кілька книг Excel в одну

Sub GetSheets()
'Updated by Extendoffice 2019/2/20
Path = "C:\Users\dt\Desktop\dt kte\"
Filename = Dir(Path & "*.xlsx")
  Do While Filename <> ""
  Workbooks.Open Filename:=Path & Filename, ReadOnly:=True
     For Each Sheet In ActiveWorkbook.Sheets
     Sheet.Copy After:=ThisWorkbook.Sheets(1)
  Next Sheet
     Workbooks(Filename).Close
     Filename = Dir()
  Loop
End Sub
	

Примітки:

1. Наведений вище код VBA зберігатиме назви аркушів оригінальних книг після об’єднання.

2. Якщо ви хочете розрізнити, які аркуші в головній книзі надійшли звідки після об’єднання, застосуйте наведений нижче код VBA 2.

3. Якщо ви просто хочете об’єднати зазначені аркуші книг у головну книгу, допоможе наведений нижче код VBA 3.

У кодах VBA "C: \ Users \ DT168 \ Desktop \ KTE \”- шлях до папки. У коді VBA 3 "Аркуш1, Аркуш3"- це вказані робочі листи книг, які ви об'єднаєте в головну книгу. Ви можете змінити їх відповідно до своїх потреб.

Код VBA 2: Об’єднайте книги в одну (кожен аркуш буде називатися з префіксом вихідного імені файлу):

Sub MergeWorkbooks()
'Updated by Extendoffice 2019/2/20
Dim xStrPath As String
Dim xStrFName As String
Dim xWS As Worksheet
Dim xMWS As Worksheet
Dim xTWB As Workbook
Dim xStrAWBName As String
On Error Resume Next
xStrPath = "C:\Users\DT168\Desktop\KTE\"
xStrFName = Dir(xStrPath & "*.xlsx")
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Set xTWB = ThisWorkbook
Do While Len(xStrFName) > 0
    Workbooks.Open Filename:=xStrPath & xStrFName, ReadOnly:=True
    xStrAWBName = ActiveWorkbook.Name
    For Each xWS In ActiveWorkbook.Sheets
    xWS.Copy After:=xTWB.Sheets(xTWB.Sheets.Count)
    Set xMWS = xTWB.Sheets(xTWB.Sheets.Count)
    xMWS.Name = xStrAWBName & "(" & xMWS.Name & ")"
    Next xWS
    Workbooks(xStrAWBName).Close
    xStrFName = Dir()
Loop
Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub

Код VBA 3: Об’єднання зазначених аркушів книг у головну книгу:

Sub MergeSheets2()
'Updated by Extendoffice 2019/2/20
Dim xStrPath As String
Dim xStrFName As String
Dim xWS As Worksheet
Dim xMWS As Worksheet
Dim xTWB As Workbook
Dim xStrAWBName As String
Dim xI As Integer
On Error Resume Next

xStrPath = " C:\Users\DT168\Desktop\KTE\"
xStrName = "Sheet1,Sheet3"

xArr = Split(xStrName, ",")

Application.ScreenUpdating = False
Application.DisplayAlerts = False
Set xTWB = ThisWorkbook
xStrFName = Dir(xStrPath & "*.xlsx")
Do While Len(xStrFName) > 0
Workbooks.Open Filename:=xStrPath & xStrFName, ReadOnly:=True
xStrAWBName = ActiveWorkbook.Name
For Each xWS In ActiveWorkbook.Sheets
For xI = 0 To UBound(xArr)
If xWS.Name = xArr(xI) Then
xWS.Copy After:=xTWB.Sheets(xTWB.Sheets.count)
Set xMWS = xTWB.Sheets(xTWB.Sheets.count)
xMWS.Name = xStrAWBName & "(" & xArr(xI) & ")"
Exit For
End If
Next xI
Next xWS
Workbooks(xStrAWBName).Close
xStrFName = Dir()
Loop
Application.ScreenUpdating = True
Application.DisplayAlerts = True

End Sub

4 Натисніть кнопку F5 клавіша для запуску коду. Потім усі робочі аркуші або вказані робочі аркуші книг у певній папці одночасно об’єднуються у головну книгу.


Легко поєднуйте кілька книг або вказані аркуші книг в одній книзі

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

Перед поданням заявки Kutools для Excel, будь ласка завантажте та встановіть його спочатку.

1. Створіть нову книгу та натисніть Kutools Plus > Поєднувати. Потім з’явиться діалогове вікно, щоб нагадати вам, що всі об’єднані книги слід зберегти, і цю функцію не можна застосувати до захищених книг, натисніть кнопку OK кнопки.

2 В Об’єднайте робочі аркуші майстра, виберіть Об’єднайте кілька аркушів із книг в одну книгу , а потім клацніть на Далі кнопку. Дивіться знімок екрана:

3 В Об’єднайте робочі аркуші - Крок 2 з 3 у діалоговому вікні натисніть додавати > філе or Папка щоб додати файли Excel, які ви об'єднаєте в один. Після додавання файлів Excel клацніть на обробка і виберіть папку для збереження головної книги. Дивіться знімок екрана:

Тепер усі робочі книги об’єднані в одну.

Порівняно з вищезазначеними двома методами, Kutools для Excel має такі переваги:

  • 1) Усі книги та робочі аркуші перелічені у діалоговому вікні;
  • 2) Для робочих аркушів, які ви хочете виключити із об’єднання, просто зніміть його;
  • 3) Пусті робочі аркуші виключаються автоматично;
  • 4) Оригінальна назва файлу буде додана як префікс до імені аркуша після об’єднання;
  • Щоб отримати більше функцій цієї функції, будь ласка, завітайте сюди.

  Якщо ви хочете отримати безкоштовну пробну версію (30-день) цієї утиліти, натисніть, щоб завантажити, а потім перейдіть до застосування операції, як описано вище.


Kutools для Excel - Допомагає завжди закінчувати роботу заздалегідь, мати більше часу, щоб насолоджуватися життям
Ви часто бачите себе, граючись у наздоганяючу роботу, відсутність часу, щоб витратити себе та родину?  Kutools для Excel може допомогти вам впоратися 80% Головоломки Excel і підвищують ефективність роботи на 80%, дадуть вам більше часу, щоб піклуватися про сім'ю та насолоджуватися життям.
300 вдосконалених інструментів для 1500 сценаріїв роботи роблять вашу роботу набагато простішою, ніж будь-коли.
Більше не потрібно запам’ятовувати формули та коди VBA, дайте мозку відпочити відтепер.
Складні та повторювані операції можна виконати одноразово за кілька секунд.
Щодня зменшуйте тисячі операцій з клавіатурою та мишею, прощайтеся з професійними захворюваннями вже зараз.
Стати експертом Excel за 3 хвилини, допоможе вам швидко отримати визнання та підвищити заробітну плату.
110,000 300 високоефективних людей та XNUMX+ всесвітньо відомих компаній на вибір.
Зробіть ваші $ 39.0 вартістю більше, ніж $ 4000.0, навчання інших.
Повнофункціональна безкоштовна пробна версія 30-день. 60-денна гарантія повернення грошей без причини.

Коментарі (146)
Поки немає оцінок. Оцініть першим!
Цей коментар був мінімізований модератором на сайті
Привіт, будь ласка, допоможіть мені з цим нижче умовою. У мене є інша робоча книга, яка містить більше 5 робочих аркушів у кожному з різних шляхів. Мені потрібно об’єднати всі аркуші з різних книг в одну книгу. Чи може хтось допомогти мені вирішити проблему з macro.TIA!
Цей коментар був мінімізований модератором на сайті
[quote]Привіт, будь ласка, допоможіть мені вирішити цю умову. У мене є інша робоча книга, яка містить більше 5 робочих аркушів у кожному з різних шляхів. Мені потрібно об’єднати всі аркуші з різних книг в одну книгу. Чи може хтось допомогти мені вирішити проблему з macro.TIA!А. Карті[/quote] Будь ласка, перейдіть до завантаження та встановлення Kutools for Excel, ви можете швидко зробити це. Але якщо ви хочете використовувати VBA, це може бути занадто складним. Щоб дізнатися більше про те, як це зробити, відвідайте:http://www.extendoffice.com/product/kutools-for-excel/excel-combine-worksheets-into-one.html
Цей коментар був мінімізований модератором на сайті
KUTOOLS Чудове рішення. Мені потрібна ще одна допомога, коли я створю основну книгу, тоді колір клітинки робочого аркуша змінено з оригінального робочого аркуша. Як я можу зберегти його як оригінальний аркуш.
Цей коментар був мінімізований модератором на сайті
У нашому офісі дублюються дані (тобто ім’я, адреса, місто, сума, дата підпису) з кількох оригіналів Excel, і спроба об’єднати дані триватиме. Як це можна зробити, щоб виключити подвійну роботу та подвійне введення інформації?
Цей коментар був мінімізований модератором на сайті
Я отримую "помилку під час виконання 1004", метод копіювання класу робочого аркуша не вдалося виконати в рядку: Sheet.Copy After:=ThisWorkbook.Sheets(1). Я використовую Excel 2010. Чи можете ви допомогти? Дякую, - Сьюзі
Цей коментар був мінімізований модератором на сайті
Привіт, Сьюзі, я вже деякий час працюю над цією проблемою, але отримую ту саму помилку. Перевірте, чи створено модуль у розділі PERSONAL замість вашої активної робочої книги. Після того, як я створив модуль під правильним деревом, наведений нижче код працював чудово. Sub GetSheets_xls() Dim Sheet As Worksheet Path = "C:\Users\yournamehere\Desktop\Testingfolder\" Filename = Dir(Path & "*.xls") Do While Filename "" Workbooks.Open Filename:=Path & Filename, ReadOnly:=False Set Sheet = ActiveWorkbook.Sheets(1) Sheet.Copy After:=ThisWorkbook.Sheets(1) 'Наступний лист Workbooks(ім'я файлу).Close Filename = Dir() Loop End Sub Сподіваюся, це допоможе!
Цей коментар був мінімізований модератором на сайті
Дуже дякую. Ваш код працював добре.
Цей коментар був мінімізований модератором на сайті
[quote]Я отримую "помилку під час виконання 1004", метод копіювання класу робочого аркуша не вдається в рядку: Sheet.Copy After:=ThisWorkbook.Sheets(1). Я використовую Excel 2010. Чи можете ви допомогти? Дякую, - СьюзіВід Сьюзі[/quote] Виникла така ж проблема, вона працює, коли я переходжу до перегляду та показу "ОСОБИСТОГО", здається, виникають проблеми з доступом до цього макросу, коли головний прихований.
Цей коментар був мінімізований модератором на сайті
Перейдіть до перегляду та відкрийте "ОСОБИСТИЙ" - здається, виникають проблеми з виконанням всього коду, поки головний прихований. Ви можете зробити макрос рідним для цієї книги, але вам доведеться відтворювати все заново щоразу, коли ви хочете його використовувати
Цей коментар був мінімізований модератором на сайті
Привіт! Велике спасибі за цей файл............. :roll: З повагою
Цей коментар був мінімізований модератором на сайті
Привіт, чудова порада. Зробив майже все, що я хотів. У комбінованій робочій книзі я хотів би, щоб назва робочого аркуша містила назву вихідної робочої книги, щоб я знав, з якої книги надходять дані. Дані, які я об’єдную, з різних архівів. Мені доводиться шукати запис, але я не знаю, в якому архіві він знаходиться. Тож, об’єднання всіх даних в один файл дасть мені змогу шукати всі архіви одночасно. Але мені ще треба знати, в якому архіві запис. Генрік
Цей коментар був мінімізований модератором на сайті
Щоб код містив ім’я файлу, просто зробіть це. Sub GetSheets() Dim temp As String Path = "C:\Users\....\Desktop\Excel combine\" Ім'я файлу = Dir(Path & "*.xlsx") Do While Filename "" Workbooks.Open Filename:= Шлях і ім'я файлу, ReadOnly:=True temp = ActiveWorkbook.Name ActiveSheet.Name = temp ActiveWorkbook.Sheets(temp).Copy After:=ThisWorkbook.Sheets(1) Workbooks(name File).Close Filename = Dir() Loop End Sub Note : це для копіювання лише першого аркуша, його можна налаштувати, щоб зробити всі аркуші
Цей коментар був мінімізований модератором на сайті
Як додати більше аркушів і як вказати інший головний файл, щоб вставити всі аркуші.
Цей коментар був мінімізований модератором на сайті
Це справді чудове рішення. Дякую. Одна проблема, коли я виконую його таким чином, Excel запитає, чи хочу я зберегти зміни перед закриттям (оскільки ім’я було змінено), і я не хочу робити це для кожного файлу (близько 32 за виконання). Чи буде спосіб вирішити це?
Цей коментар був мінімізований модератором на сайті
Це чудово :lol: мені дуже допомогло....
Цей коментар був мінімізований модератором на сайті
Дякую, друже, ти зробив мій день на цьому дуже корисному веб-сайті... Насправді я також хотів об'єднати ті самі дані заголовка різних аркушів в 1 основний аркуш, KUTOOL для Excel мені дуже допоміг.... Ще раз дякую .... :)
Цей коментар був мінімізований модератором на сайті
Дуже дякую за цінну інформацію. Це дійсно працює. Перелічені в цій статті кроки дійсно полегшили мою роботу. Дякую, Дінеш
Цей коментар був мінімізований модератором на сайті
дякую, що поділилися своїми знаннями
Цей коментар був мінімізований модератором на сайті
Як змусити його оновити зміни з вихідної книги? Я намагаюся отримати національний підсумок, у якому кожен регіон буде вводити свої дані у власні робочі книги, а потім матиме національне резюме, яке оновлюється з цього? Я хотів би, щоб це було налаштовано на весь рік на початку, а не працювало заднім числом.
Цей коментар був мінімізований модератором на сайті
Після об’єднання аркушів в одну робочу книгу, як ви її збережете, я не зміг зберегти її з назвою Book1, і я натискаю кнопку зберегти або зберегти як, але не працює. Будь-які пропозиції?
Цей коментар був мінімізований модератором на сайті
Я виконав кроки в «Об’єднати кілька книг в одну книгу за допомогою VBA» і натиснув «виконати», нічого не сталося. Я не знаю про помилки і не знаю, як їх виправити. Ти б мені допоміг? Нижче наведено код, який я вводив у нову робочу книгу. Дякую Sub GetSheets() Path = "p:\download\macro\" Filename = Dir(Path & "*.xls") Do While Filename "" Workbooks.Open Filename:=Path & File Name, ReadOnly:=True For Every Sheet In ActiveWorkbook.Sheets Sheet.Copy After:=ThisWorkbook.Sheets(1) Наступний лист Робочі книги(ім'я файлу).Close Filename = Dir() Loop End Sub
Цей коментар був мінімізований модератором на сайті
Dear Sir/Madam! Я виконав кроки "Об'єднайте кілька книг в одну книгу за допомогою VBA", щоб налаштувати наступний модуль, але нічого не сталося. Допоможете мені знайти проблему? дякую Sub GetSheets() Path = "p:\download\macro\" Filename = Dir(Path & "*.xls") Do While Filename "" Workbooks.Open Filename:=Path & Filename, ReadOnly:=True For Every Аркуш у ActiveWorkbook.Sheets Sheet.Copy After:=ThisWorkbook.Sheets(1) Наступний аркуш Робочі книги(ім'я файлу).Close Filename = Dir() Loop End Sub
Цей коментар був мінімізований модератором на сайті
для новіших версій Excel спробуйте це. Я зберіг свою відкриту книгу як каталог, і всі файли знаходяться в c:\temp. Sub GetSheets() Path = "c:\temp\" Ім'я файлу = Dir(Path & "*.xls") Виконати Поки ім'я файлу "" Workbooks. Відкрити ім'я файлу:=Шлях ​​і ім'я файлу, ReadOnly:=Правда для кожного аркуша в ActiveWorkbook. Листи Аркуш.Копіювати після:=Робочі зошити("catalog.xlsx").Аркуші(1) Наступний аркуш Робочі книги(ім'я файлу).Закрити Ім'я файлу = Dir() Кінець циклу
Цей коментар був мінімізований модератором на сайті
Спробуйте це для новіших версій Excel. Я зберіг свою книгу як каталог, усі файли знаходяться в c:\temp. Sub GetSheets() Path = "c:\temp\" Ім'я файлу = Dir(Path & "*.xls") Виконати Поки ім'я файлу "" Workbooks. Відкрити ім'я файлу:=Шлях ​​і ім'я файлу, ReadOnly:=Правда для кожного аркуша в ActiveWorkbook. Листи Аркуш.Копіювати після:=Робочі зошити("catalog.xlsx").Аркуші(1) Наступний аркуш Робочі книги(ім'я файлу).Закрити Ім'я файлу = Dir() Кінець циклу
Цей коментар був мінімізований модератором на сайті
[quote]Спробуйте це для новіших версій Excel. Я зберіг свою книгу як каталог, усі файли знаходяться в c:\temp. Sub GetSheets() Path = "c:\temp\" Ім'я файлу = Dir(Path & "*.xls") Виконати Поки ім'я файлу "" Workbooks. Відкрити ім'я файлу:=Шлях ​​і ім'я файлу, ReadOnly:=Правда для кожного аркуша в ActiveWorkbook. Листи Аркуш.Копіювати після:=Робочі зошити("catalog.xlsx").Аркуші(1) Наступний аркуш Робочі книги(ім'я файлу).Закрити Ім'я файлу = Dir() Кінець циклуВід Дейва[/quote] Я постійно отримую "не можу призначити властивість лише для читання" щодо шляху... Маєте ідею?
Цей коментар був мінімізований модератором на сайті
У мене теж така проблема. Ви зрозуміли це?
Цей коментар був мінімізований модератором на сайті
Ще нічого... Не знайшов жодного рішення чи хтось запропонував виправлення. вибачте...
Цей коментар був мінімізований модератором на сайті
Я також. Це працювало 6 місяців тому, востаннє мені довелося його запускати. Хтось уже знайшов рішення? Якби він працював раніше, а зараз він не працюватиме, чи може це бути пов’язано з оновленням від Microsoft? Це дійсно зручний інструмент для моїх завдань і заощаджує мені купу часу. Що могло змінитися, щоб Excel раптом почав відображати це повідомлення? Будучи новим у VBA, я мало знаю, з чого почати аналіз логіки. З повагою, Грег. Глазго, Шотландія.
Цей коментар був мінімізований модератором на сайті
Здається, що "Шлях" тепер зарезервований, тому використовуйте будь-яку іншу назву та замініть "Шлях", наприклад, "Мій шлях".
Цей коментар був мінімізований модератором на сайті
Можливо, вам варто змінити ReadOnly:=Правда на ReadOnly:=False, я зробив, і це було корисно
Цей коментар був мінімізований модератором на сайті
Я шукав щось у цьому плані, але хотів прокоментувати. Чи не має значення Do While File Name "" бути чимось іншим, ніж ""? чи я неправильно читаю? Може бути, Поки НЕ filename = "" Просто думка...
Цей коментар був мінімізований модератором на сайті
Я хочу об’єднати всі аркуші в один аркуш, де заголовки є загальними... допоможіть, будь ласка
Цей коментар був мінімізований модератором на сайті
Привіт, я спробував використати наведені вище макроси, щоб зібрати декілька файлів, на жаль, результатів немає... чи може хтось допомогти мені позбутися від ручного зіставлення файлів.
Цей коментар був мінімізований модератором на сайті
У мене є 112 аркушів Excel, які я хочу помістити в один аркуш без копіювання та вставки. Будь ласка, допоможіть мені.
Цей коментар був мінімізований модератором на сайті
У мене є робочий зошит, який містить близько 250 аркушів. Мені потрібно Кобейна в одному аркуші. будь ласка, дайте мені рішення
Цей коментар був мінімізований модератором на сайті
Спробуйте це... Я отримав це з іншого сайту, але, на жаль, я не можу згадати ім’я жінки, тому я прошу вибачення за те, що не згадав її, моя погана.» Об’єднайте кілька WB в Excel: ПАМ’ЯТАЙТЕ ЗМІНИТИ MyPath = ! Sub Merge2MultiSheets( ) Dim wbDst як робоча книга Dim wbSrc як робоча книга Dim wsSrc як робочий лист Dim MyPath як рядок Dim strFilename Як рядок Application.DisplayAlerts = False Application.EnableEvents = False Application.ScreenUpdating = False MyPath = "\\MyPath..."c Встановіть wbDst = Workbooks.Add(xlWBATWorksheet) strFilename = Dir(MyPath & "\*.xls", vbNormal) Якщо Len(strFilename) = 0, то Exit Sub Do до strFilename = "" Set wbSrc = Workbooks.Open(Filename:= MyPath & "\" & strFilename) Встановіть wsSrc = wbSrc.Worksheets(1) wsSrc.Copy After:=wbDst.Worksheets(wbDst.Worksheets.Count) wbSrc.Close False strFilename = Dir() Цикл wbDst.Worksheets(1). Видалити Application.DisplayAlerts = True Application.EnableEvents = True Application.ScreenUpdating = True End Sub
Цей коментар був мінімізований модератором на сайті
Привіт, я додав код у модуль. Книгу Excel назвали Masterfile. Де в коді я можу додати. Дякую
Цей коментар був мінімізований модератором на сайті
Мені нічого з цього не спрацювало. Нарешті я змусила це працювати. FYI Я використовую 2010 'Опис: об’єднує всі файли в папці в головний файл. Sub MergeFiles() Dim path As String, ThisWB As String, lngFilecounter As Long Dim wbDest As Workbook, shtDest As Worksheet, ws As Worksheet Dim File Name As String, Wkb As Workbook Dim CopyRng As Range, Dest As Range Dim RowofCopySheet As Integer 2 ' Рядок для початку на аркушах, які ви копіюєте з ThisWB = ActiveWorkbook.Name path = "mypath....." ' Не забудьте змінити це Application.EnableEvents = False Application.ScreenUpdating = False Set shtDest = ActiveWorkbook .Sheets(1) Ім'я файлу = Dir(path & "\*.xls", vbNormal) Якщо Len(Filename) = 0, то Exit Sub Do Until Filename = vbNullString Якщо не Ім'я файлу = ThisWB Тоді встановіть Wkb = Workbooks.Open(Назва файлу: =шлях & "\" і ім'я файлу) Встановити CopyRng = Wkb.Sheets(1).Range(Cells(RowofCopySheet, 1), Cells(ActiveSheet.UsedRange.Rows.Count, ActiveSheet.UsedRange.Columns.Count)) Встановити Dest = shtDest.Range("A" & shtDest.UsedRange.SpecialCells(xlCellTypeLastCell).Row + 1) CopyRng.Copy Dest Wkb.Close False End Якщо ім'я файлу = Dir() Діапазон циклу e("A1"). Виберіть Application.EnableEvents = True Application.ScreenUpdating = True MsgBox "Готово!" Кінець суб
Цей коментар був мінімізований модератором на сайті
Як це відредагувати, щоб дані, які витягуються, завжди починалися з верхнього рядка? Якщо я запускаю цей код двічі, він додає дані в кінець моїх попередніх даних (від першого запуску макросу).
Цей коментар був мінімізований модератором на сайті
Змініть цей рядок: RowofCopySheet = 2 на RowofCopySheet = 1
Цей коментар був мінімізований модератором на сайті
Привіт, у мене є декілька файлів Excel (один аркуш) різних папок із захистом паролем. Я хочу до кінця дня об’єднати всі дані в один головний файл. Кожен раз, коли мені потрібно вводити пароль, відкривати файл і копіювати вставити в головний файл. Будь ласка, допоможіть мені з кодом VBA для цього.
There are no comments posted here yet
Load More
Залишайте свої коментарі
Публікація як гість
×
Оцініть цю публікацію:
0   Персонажі
Рекомендовані місця

Слідуй за нами

Copyright © 2009 - WWW.extendoffice.com. | Всі права захищені. На основі ExtendOffice. | Карта сайту
Microsoft та логотип Office є товарними знаками або зареєстрованими товарними знаками Microsoft Corporation у США та / або інших країнах.
Захищений Sectigo SSL