Я застрял в проблеме в VBA, когда объединяю данные из другой рабочей книги в основную рабочую книгу и использую имя файла и имя пути - переменная, которая динамически меняется в цикле, в котором я искал, но я нахожу только жестко закодированный путь, поэтому яздесь размещен следующий код:
Sub Append()
'Append data from other files
Path = "E:\NPM PahseIII\"
Dim c As Range
'find the first empty cell in ColA
Set c = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Offset(2, 0)
Filename = Dir(Path & "*.xlsx")
Do While Filename <> ""
If InStr(Filename, ".") > 0 Then
Filenamenoext = Left(Filename, InStr(Filename, ".") - 1)
End If
c.Value = Filenamenoext
Set c = c.Offset(1, 0)
Workbooks.Open Filename:=Path & Filename, ReadOnly:=True
Windows("Master sheet").Activate
Selection.Consolidate Sources:=Array("'Path & [Filename]Sheet1'!$B$2:$B$5"),
Function:=xlSummary
Workbooks(Filename).Close
Filename = Dir()
Loop
End Sub
Первая проблема заключается в том, что эта программа выдает мне ошибку
Object doesn't support this property or method
в этой строке
Selection.Consolidate Sources:=Array("'Path & [Filename]Sheet1'!$B$2:$B$5"),
Function:=xlSummary
во-вторых, яхотите, чтобы при первом добавлении данных при повторном запуске кода, если нет изменений в данных других файлов, код не должен снова добавлять дубликаты.