Birden fazla excel dosyasını bir dosyada birleştirme


0

Bu, bir dizindeki tüm dosyaları bir excel sayfasına birleştirmek için benim makro. Beklentiye göre neden işe yaramadığını bulamıyorum. Her dosyada bin satır var. İlk dosyadan 1000 satır kopyalar ancak bir sonraki dosyada 1. satır yerine 1001 satırdan kopyalar. aynı şekilde 3. dosya 2001. satırdan kopyalar. Her seferinde ilk 1000 satırı kopyalamak istiyorum. Kodun hangi kısmı soruna neden oluyor?

Sub MergeFiles()
Dim bookList As Workbook
Dim mergeObj As Object, dirObj As Object, filesObj As Object, everyObj As Object
Application.ScreenUpdating = False
Set mergeObj = CreateObject("Scripting.FileSystemObject")
Dim i
i = 0

'change folder path of excel files here
Dim TTFiles_Path As String
ThisWorkbook.Worksheets(7).Activate
TTFiles_Path = Range("B2").Value

Set dirObj = mergeObj.GetFolder(TTFiles_Path)
Set filesObj = dirObj.Files
For Each everyObj In filesObj
Set bookList = Workbooks.Open(everyObj)


'change "A2" with cell reference of start point for every files here
'for example "B3:IV" to merge all files start from columns B and rows 3
'If you're files using more than IV column, change it to the latest column
'Also change "A" column on "A65536" to the same column as start point
Range("A4:IV" & Range("A65536").End(xlUp).Row).Copy
ThisWorkbook.Worksheets(8).Activate

'Do not change the following column. It's not the same column as above
Range("A65536").End(xlUp).Offset(1, 0).PasteSpecial
Application.CutCopyMode = False
bookList.Close
Next

End Sub

İ değişkenini nerede kullandığınızı göremiyorum. İlk dosyada kaç satır var? Neden sadece 1000 satırla sınırlı kalmalı?
Dave

Her dosyanın 1000 satırı vardır. Yalnızca veri satırlarım var, bu yüzden 1000 satırla sınırlı. Henüz kullanmadım, ofset ile veri yapıştırırken kullanacağım
Pavi

Beklerdim Range("A65536").End(xlUp).Offset(1, 0) (iki yer) temel ofset / örtüşmeyen yerleşimi sağlamak için. Gerekmeyebilir i.
Hannu

Yanıtlar:


0

Hatayı analiz etmenin bir yolu: Makroda hata ayıklamayı kullanın.

Lütfen cevabımı gör İşte çok temelleri için.


Bağlantılı gönderi, bu "cevabı" dahil etme sürecinde yarattığım bir şey. NOT: Burada doğrudan bir cevaptan daha genel bir düzeyde olduğunu hissettim ve bu nedenle bağımsız bir Q / A olarak ekledi (aramaya benzer bir şey bulamadım).
Hannu
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.