У меня есть папка, полная файлов .xls, все файлы имеют одинаковую структуру (имена столбцов), я хотел, чтобы код открывал каждый файл в папке и копировал содержимое листа1 и вставить в другой файл первенствует в sheet1, открыть вторую копию файла и добавить в лист 1.Слить несколько файлов .xls в один лист
в настоящее время код у меня делает это как другой лист
Sub GetSheets()
Path = "C:\Users\dt\Desktop\dt kte\"
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
Итак, вы хотите все данные из открытых книг в одном листе в основной книге? Вместо копирования всего листа вы должны получить доступ к свойству UsedRange объекта листов и скопировать его в следующую пустую строку на основной листе, которую вы хотите содержать все данные. – Alex4336
НЕ используйте 'UsedRange', это очень ненадежно, см. Здесь, чтобы найти последнюю ячейку: http://stackoverflow.com/a/11169920/4628637 – R3uK
Я бы тоже не использовал UsedRange, но я просто пытался точку в правильном направлении. – Alex4336