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 для приложений окна, нажмите Вставить > Модули, затем скопируйте ниже код 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 \ Рабочий стол \ 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 for Excel значительно упрощает объединение нескольких книг в одну. Давайте посмотрим, как заставить эту функцию работать при объединении нескольких книг.

Перед применением Kutools for Excel, Пожалуйста, сначала скачайте и установите.

1. Создайте новую книгу и щелкните Кутулс Плюс > Сочетать. Затем появится диалоговое окно с напоминанием о том, что все объединенные книги должны быть сохранены, а функция не может быть применена к защищенным книгам, нажмите кнопку OK кнопку.

2. в Комбинировать листы мастер, выберите Объедините несколько листов из книг в одну книгу вариант, а затем щелкните Далее кнопка. Смотрите скриншот:

3. в Объединить рабочие листы - шаг 2 из 3 диалогового окна, нажмите Добавить > Файл or Папка чтобы добавить файлы Excel, которые вы объедините в один. После добавления файлов Excel щелкните значок Завершить и выберите папку для сохранения основной книги. Смотрите скриншот:

Теперь все книги объединены в одну.

По сравнению с двумя вышеуказанными методами, Kutools for Excel имеет следующие преимущества:

  • 1) Все книги и рабочие листы перечислены в диалоговом окне;
  • 2) Для листов, которые вы хотите исключить из объединения, просто снимите флажок;
  • 3) Пустые рабочие листы исключаются автоматически;
  • 4) Исходное имя файла будет добавлено в качестве префикса к имени листа после объединения;
  • Чтобы узнать о дополнительных функциях этой функции, пожалуйста, посетите здесь.

  Если вы хотите получить бесплатную (30-дневную) пробную версию этой утилиты, пожалуйста, нажмите, чтобы загрузить это, а затем перейдите к применению операции в соответствии с указанными выше шагами.


Kutools для Excel - Помогает всегда закончить работу раньше времени, чтобы у вас было больше времени, чтобы наслаждаться жизнью
Вы часто играете в догонялки с работой, не хватает времени на себя и семью?  Kutools for Excel может помочь вам решить 80% головоломок Excel и повысить эффективность работы на 80%, дать вам больше времени, чтобы заботиться о семье и наслаждаться жизнью.
300 расширенных инструментов для 1500 рабочих сценариев сделают вашу работу намного проще, чем когда-либо.
Больше не нужно запоминать формулы и коды VBA, теперь дайте вашему мозгу отдохнуть.
Сложные и повторяющиеся операции могут быть выполнены разовой обработкой за секунды.
Сократите количество операций с клавиатурой и мышью каждый день, попрощайтесь с профессиональными заболеваниями прямо сейчас.
Станьте экспертом по Excel за 3 минуты, это поможет вам быстро получить признание и продвижение по службе.
110,000 300 высокоэффективных людей и выбор XNUMX+ всемирно известных компаний.
Сделайте так, чтобы ваши 39.0 доллара были больше, чем обучение других людей.
Полнофункциональная бесплатная 30-дневная пробная версия. 60-дневная гарантия возврата денег без причины.

Сортировать комментарии по
Комментарии (145)
Оценок пока нет. Оцените первым!
Этот комментарий был сведен к минимуму модератором на сайте
Привет, пожалуйста, помогите мне в этом ниже условии. У меня есть другая книга, в которой более 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. Вы можете помочь? Спасибо, - Сьюзи
Сюзи
Этот комментарий был сведен к минимуму модератором на сайте
Эй, Сьюзи, я сам некоторое время работал над этой проблемой, получая ту же ошибку. Проверьте, был ли модуль создан в ЛИЧНОМ, а не в вашей активной книге. Как только я создал модуль в правильном дереве, приведенный ниже код работал нормально. 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) 'Next Sheet Workbooks(Filename).Close Filename = Dir() Loop End Sub Надеюсь, это поможет!
Сэмюэл Берч
Этот комментарий был сведен к минимуму модератором на сайте
Большое спасибо. Ваш код работал хорошо.
DS
Этот комментарий был сведен к минимуму модератором на сайте
[quote]Я получаю "ошибка выполнения 1004", метод копирования класса Worksheet не выполнен в строке, которая гласит: Sheet.Copy After:=ThisWorkbook.Sheets(1). Я использую Excel 2010. Вы можете помочь? Спасибо, - СьюзиСьюзи[/quote] Была такая же проблема, она работает, когда я перехожу к просмотру и отображению «ЛИЧНОГО», похоже, у него проблемы с доступом к этому макросу со скрытым мастером.
Крис Ф
Этот комментарий был сведен к минимуму модератором на сайте
Перейдите к просмотру и показу «ЛИЧНОЕ» — похоже, у него проблемы с выполнением всего кода, пока мастер скрыт. Вы можете сделать макрос родным для этой книги, но вам придется заново создавать его каждый раз, когда вы захотите его использовать.
Крис Ф
Этот комментарий был сведен к минимуму модератором на сайте
Привет! Большое спасибо за этот файл............ :roll: С наилучшими пожеланиями
Эмир
Этот комментарий был сведен к минимуму модератором на сайте
Привет! Отличный совет. Делал почти все, чего я хотел. В комбинированной рабочей книге мне бы хотелось, чтобы имя рабочего листа содержало имя исходной рабочей книги, поэтому я знаю, из какой рабочей книги берутся данные. Данные, которые я объединяю, из разных архивов. Мне нужно найти запись, но я не знаю, в каком архиве она находится. Таким образом, объединение всех данных в один файл позволит мне искать сразу во всех архивах. Но мне еще нужно знать, в каком архиве запись. Хенрик
Генри
Этот комментарий был сведен к минимуму модератором на сайте
Чтобы код включал имя файла, просто сделайте это. Sub GetSheets() Dim temp As String Path = "C:\Users\....\Desktop\Excel comb\" Filename = Dir(Path & "*.xlsx") Do While Filename "" Workbooks.Open Filename:= Путь и имя файла, только для чтения: = True temp = ActiveWorkbook.Name ActiveSheet.Name = temp ActiveWorkbook.Sheets(temp).Copy After:=ThisWorkbook.Sheets(1) Workbooks(Filename).Close Filename = Dir() Loop End Sub Примечание : это копирование только первого листа, его можно настроить для копирования всех листов
Код:
Этот комментарий был сведен к минимуму модератором на сайте
Как включить больше листов и как указать другой мастер-файл для вставки всех листов.
ЗАКОН
Этот комментарий был сведен к минимуму модератором на сайте
Это действительно отличное решение. благодарю вас. Однако есть одна проблема: когда я выполняю это так, Excel спросит, хочу ли я сохранить изменения перед закрытием (поскольку имя было изменено), и я не хочу делать это для каждого файла (около 32 за выполнение). Будет ли способ решить эту проблему?
Адриано Маркато
Этот комментарий был сведен к минимуму модератором на сайте
Это превосходно :lol: мне очень помогло....
Теди
Этот комментарий был сведен к минимуму модератором на сайте
Спасибо, приятель, ты сделал мой день с помощью этого очень полезного веб-сайта ... На самом деле я также хотел объединить одни и те же данные заголовка разных листов в 1 основной рабочий лист, KUTOOL для Excel мне очень помог .... Еще раз спасибо .... :)
Amol
Этот комментарий был сведен к минимуму модератором на сайте
Большое спасибо за ценную информацию. Это действительно работает. Шаги, перечисленные в этой статье, действительно облегчили мою работу. Спасибо, Динеш
Динеш
Этот комментарий был сведен к минимуму модератором на сайте
спасибо, что поделились своими знаниями
Гамид
Этот комментарий был сведен к минимуму модератором на сайте
Как заставить его обновлять изменения из исходной книги? Я пытаюсь получить национальную сводку, в которой каждый регион будет вводить свои данные в свои собственные рабочие тетради, а затем иметь национальную сводку, которая обновляется на основе этого? Я бы хотел, чтобы это было настроено на весь год в начале и не работало задним числом.
мыс
Этот комментарий был сведен к минимуму модератором на сайте
После объединения рабочих листов в одну рабочую книгу, как вы ее сохраняете, я не смог сохранить ее, она называется Книга 1, и я нажимаю «Сохранить» или «Сохранить как», но не работает. Какие-либо предложения?
Гайка
Этот комментарий был сведен к минимуму модератором на сайте
Я выполнил шаги, описанные в разделе «Объединить несколько книг в одну книгу с помощью VBA», и нажал «Выполнить», ничего не произошло. Я не знаю об ошибках и не знаю, как исправить. Ты поможешь мне? ниже приведен код, который я ввожу в новую книгу. Спасибо Sub GetSheets() Path = "p:\download\macro\" Filename = Dir(Path & "*.xls") Do While Filename "" Workbooks.Open Filename:=Path & Filename, ReadOnly:=True для каждого листа в ActiveWorkbook.Sheets Sheet.Copy After:=ThisWorkbook.Sheets(1) Next Sheet Workbooks(Filename).Close Filename = Dir() Loop End Sub
Sherrill
Этот комментарий был сведен к минимуму модератором на сайте
Уважаемый господин/госпожа! Я выполнил шаги «Объединить несколько книг в одну книгу с помощью VBA», чтобы настроить следующий модуль, но ничего не произошло. Не могли бы вы помочь мне найти проблему? спасибо Sub GetSheets() Path = "p:\download\macro\" Filename = Dir(Path & "*.xls") 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
Sherrill
Этот комментарий был сведен к минимуму модератором на сайте
для более новых версий Excel попробуйте это. Я сохранил свою открытую книгу как каталог, и все файлы находятся в каталоге c:\temp. Sub GetSheets() Path = "c:\temp\" Filename = Dir(Path & "*.xls") Do While Filename "" Workbooks.Open Filename:=Path & Filename, ReadOnly:=True для каждого листа в ActiveWorkbook. Sheets Sheet.Copy After:=Workbooks("catalog.xlsx").Sheets(1) Next Sheet Workbooks(Filename).Close Filename = Dir() Loop End Sub
Дейв
Этот комментарий был сведен к минимуму модератором на сайте
Попробуйте это для более новых версий Excel. Я сохранил свою книгу как каталог, все файлы находятся в папке c:\temp. Sub GetSheets() Path = "c:\temp\" Filename = Dir(Path & "*.xls") Do While Filename "" Workbooks.Open Filename:=Path & Filename, ReadOnly:=True для каждого листа в ActiveWorkbook. Sheets Sheet.Copy After:=Workbooks("catalog.xlsx").Sheets(1) Next Sheet Workbooks(Filename).Close Filename = Dir() Loop End Sub
Дейв
Этот комментарий был сведен к минимуму модератором на сайте
[quote]Попробуйте это для более новых версий Excel. Я сохранил свою книгу как каталог, все файлы находятся в папке c:\temp. Sub GetSheets() Path = "c:\temp\" Filename = Dir(Path & "*.xls") Do While Filename "" Workbooks.Open Filename:=Path & Filename, ReadOnly:=True для каждого листа в ActiveWorkbook. Sheets Sheet.Copy After:=Workbooks("catalog.xlsx").Sheets(1) Next Sheet Workbooks(Filename).Close Filename = Dir() Loop End SubАвтор: Дэйв[/quote] Я продолжаю получать «не могу назначить свойство только для чтения» относительно пути... Есть идеи?
jlhall07
Этот комментарий был сведен к минимуму модератором на сайте
У меня тоже такая проблема. Вы поняли это?
Сара
Этот комментарий был сведен к минимуму модератором на сайте
Пока ничего... Решение не найдено, и никто не предложил исправление. Извини...
jlhall07
Этот комментарий был сведен к минимуму модератором на сайте
Я тоже. Это работало 6 месяцев назад, в последний раз, когда мне приходилось его запускать. Кто-нибудь уже нашел решение? Если он у вас работал раньше, а теперь не работает, может ли это быть связано с обновлением Microsoft? Это действительно удобный инструмент для моих задач и экономит мне кучу времени. Что могло измениться, что заставило Excel внезапно начать отображать это сообщение? Будучи новичком в VBA, я понятия не имею, с чего начать анализ логики. С уважением, Грег. Глазго, Шотландия.
Грег
Этот комментарий был сведен к минимуму модератором на сайте
Кажется, что «Путь» теперь зарезервирован, поэтому используйте любое другое имя и замените «Путь», например, «Мой путь».
Фукс
Этот комментарий был сведен к минимуму модератором на сайте
Возможно, вам следует изменить ReadOnly:=True на ReadOnly:=False, я сделал, и это было полезно
Ма привет
Этот комментарий был сведен к минимуму модератором на сайте
Я искал что-то в этом роде, но хотел прокомментировать. Разве имя файла Do While "" не должно быть чем-то отличным от ""? или я неправильно читаю? Может быть, делать, пока НЕ ​​имя_файла = "" Просто мысль...
Патрик
Этот комментарий был сведен к минимуму модератором на сайте
Я хочу объединить все листы в один лист, где заголовки общие...пожалуйста, помогите
Ананд Дарбха
Этот комментарий был сведен к минимуму модератором на сайте
Привет, я пытался использовать вышеуказанные макросы для сопоставления нескольких файлов, к сожалению, безрезультатно... может ли кто-нибудь помочь мне избавиться от сопоставления файлов вручную.
Назир
Этот комментарий был сведен к минимуму модератором на сайте
У меня есть 112 листов Excel, которые я хочу поместить в один лист без копирования и вставки. Пожалуйста, помогите мне.
христианский
Этот комментарий был сведен к минимуму модератором на сайте
У меня есть книга, содержащая около 250 листов. Мне нужен Кобейн в одном листе. пожалуйста, дайте мне решение
Дилип
Этот комментарий был сведен к минимуму модератором на сайте
Попробуйте это ... Я получил это с другого сайта, но, к сожалению, я не могу вспомнить имя женщины, поэтому приношу свои извинения за то, что не упомянул ее, мой плохой "Объедините несколько ББ в Excel: НЕ ЗАБУДЬТЕ ИЗМЕНИТЬ MyPath = ! Sub Merge2MultiSheets ( ) Dim wbDst As Workbook Dim wbSrc As Workbook Dim wsSrc As Worksheet Dim MyPath As String Dim strFilename As String Application.DisplayAlerts = False Application.EnableEvents = False Application.ScreenUpdating = False MyPath = "\\MyPath\etc\etc..." Установите wbDst = Workbooks.Add(xlWBATWorksheet) strFilename = Dir(MyPath & "\*.xls", vbNormal) Если Len(strFilename) = 0, то выйдите из подпрограммы. 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
Ginger41
Этот комментарий был сведен к минимуму модератором на сайте
Привет, я добавил код в модуль. Назван мастер-файл книги Excel. Где в коде добавить. благодарю вас
Гулам
Этот комментарий был сведен к минимуму модератором на сайте
Ни один из них не работал для меня, я наконец заставил это работать. К вашему сведению, я использую 2010 «Описание: объединяет все файлы в папке в главный файл. Sub MergeFiles() Dim path As String, ThisWB As String, lngFilecounter As Long Dim wbDest As Workbook, shtDest As Worksheet, ws As Worksheet Dim Filename As String, Wkb As Workbook Dim CopyRng As Range, Dest As Range Dim RowofCopySheet As Integer RowofCopySheet = 2 ' Строка для начала в листах, которые вы копируете из ThisWB = ActiveWorkbook.Name path = "mypath....." ' Не забудьте изменить это Application.EnableEvents = False Application.ScreenUpdating = False Установите shtDest = ActiveWorkbook .Sheets(1) Filename = Dir(path & "\*.xls", vbNormal) Если Len(Filename) = 0, то выйдите из Sub, выполните до тех пор, пока Filename = vbNullString Если не Filename = ThisWB, то установите Wkb = Workbooks.Open(Filename: =path & "\" & Filename) Set CopyRng = Wkb.Sheets(1).Range(Cells(RowofCopySheet, 1), Cells(ActiveSheet.UsedRange.Rows.Count, ActiveSheet.UsedRange.Columns.Count)) Set Dest = shtDest.Range("A" & shtDest.UsedRange.SpecialCells(xlCellTypeLastCell).Row + 1) CopyRng.Copy Dest Wkb.Close False End If Filename = Dir() Loop Rang e("A1"). Выберите Application.EnableEvents = True Application.ScreenUpdating = True MsgBox "Готово!" Конец сабвуфера
Ники Фостер
Этот комментарий был сведен к минимуму модератором на сайте
Как мне отредактировать это так, чтобы данные всегда начинались с верхней строки? Если я запускаю этот код дважды, он добавляет данные в конец моих предыдущих данных (из первого запуска макроса).
Мишель
Этот комментарий был сведен к минимуму модератором на сайте
Измените эту строку: RowofCopySheet = 2 на RowofCopySheet = 1.
оривера
Этот комментарий был сведен к минимуму модератором на сайте
Привет, у меня есть несколько файлов Excel (один лист) в другой папке с защитой паролем. я хочу, чтобы в конце дня объединить все данные в один мастер-файл. Каждый раз, когда мне приходится вводить пароль, открывать файл и копировать и вставлять в мастер-файл. Пожалуйста, помогите мне с кодом VBA для этого, пожалуйста.
Мохидин
Здесь еще нет комментариев
Загрузить ещё
Оставляйте свои комментарии
Публикация как гость
×
Оценить этот пост:
0  Характеристики
Предлагаемые места