Мой вопрос касается коллекций.
В этом коде я открываю друг друга Excel в папке моего текущего Excel и извлекаю все его данные для первого столбца в коллекцию.
Затем я пытаюсь вставить собранные значения в мой текущий файл.
Когда я использую coll.count, счетчик правильный, поэтому я считаю, что данные эффективно собираются.
Я использовал форму «Sheet.cells.value = coll (i)» раньше и работал отлично, но в этом случае это не так.
Появляется ошибка 1004 - 'Ошибка времени выполнения' 1004 ': ошибка приложения или объекта' в этой строке.
У вас есть какие-либо идеи относительно того, почему?Любая рекомендация?
Спасибо!
Option Explicit
Sub LoopThroughFolder()
Application.ScreenUpdating = False
'State variables
Dim Path As String 'path of folder
Dim DataBase As String ' current excel file
Dim ERow As Long 'last row of current excel file
Dim coll As New Collection 'collection of data
Dim iRow As Long 'rows of other excel files
Dim n As Long 'total records of other excel files
Dim i As Integer
'Name of files to open
Path = Dir(ActiveWorkbook.Path & "\")
DataBase = ActiveWorkbook.Name
'For each file
Do While Path <> DataBase
'Open, retrieve data, close
Workbooks.Open (ActiveWorkbook.Path & "\" & Path)
n = Application.WorksheetFunction.CountA(Range("A:A"))
For iRow = 2 To n
coll.Add Cells(iRow, 1)
Next iRow
ActiveWorkbook.Close
'Next file
Path = Dir
Loop
'Now place the values in my current excel file (here is the problem)(?)
ERow = ActiveSheet.Cells(Rows.Count, "A").End(xlUp).Row
For i = 1 To coll.Count
ActiveSheet.Cells(ERow + i, 1).Value = coll(i)
Next i
'End
Set coll = Nothing
Application.ScreenUpdating = True
End Sub