Ребята, спасибо за варианты.
Все таки буду благодарен именно за код VBA, так как самый большой пробел именно в части поиска крайней строки.
Зайду с другой стороны
Есть код импорта в лист:
Вот куда тут добавить формулу, чтобы она после вставки массива производила "взаимное" копирование ячеек ума не приложу 
Приложил файл наиболее близкий по формату к используемому в реале.
Спасибо.
Все таки буду благодарен именно за код VBA, так как самый большой пробел именно в части поиска крайней строки.
Зайду с другой стороны
Есть код импорта в лист:
| Код |
|---|
Sub CollectAllClients()
Dim BazaWb As Workbook 'текущая книга (общий файл)
Dim BazaSht As Worksheet 'лист База покупателей в общем файле
Dim iTempFileName As String 'имя по-очерёдно открываемого файла
Dim iPath As String 'путь к папке, где лежат все файлы
Dim iLastRowBaza As Long 'последняя заполненная строка в общем файле в столбце A
Dim iLastRowTempWb As Long 'последняя заполненная строка в по-очерёдно открываемом файле в столбце A
Dim iNumFiles As Long 'количество открываемых файлов
Dim LastRow As Long, LastColumn As Integer, i As Long, j As Integer
Sheets("Общий").UsedRange.Rows.Hidden = False
Sheets("Общий").UsedRange.Columns.Hidden = False
With Application
.ScreenUpdating = False
.DisplayAlerts = False
.Calculation = xlManual
Set BazaWb = ThisWorkbook
Set BazaSht = BazaWb.Sheets("Общий")
iPath = BazaWb.Path & "\"
iTempFileName = Dir(iPath & "*.xls")
Do While iTempFileName <> ""
If iTempFileName <> BazaWb.Name Then
With .Workbooks.Open _
(Filename:=iPath & iTempFileName, UpdateLinks:=False, ReadOnly:=True)
iNumFiles = iNumFiles + 1
'Рабочая книга не должна быть защищена паролем
With .Worksheets("Лист1")
'номер последней заполенной строки
iLastRowTempWb = .Cells(Rows.Count, 1).End(xlUp).Row
iLastRowBaza = BazaSht.Cells(Rows.Count, 2).End(xlUp).Row + 1
.Range(.Cells(2, 1), .Cells(iLastRowTempWb, 36)).Copy Destination:=BazaSht.Cells(iLastRowBaza, 2)
End With
.Close SaveChanges:=False
Name iPath & iTempFileName As iPath & "Архив\" & iTempFileName
End With
End If
iTempFileName = Dir
Loop
.Calculation = xlAutomatic
.DisplayAlerts = True
.ScreenUpdating = True
End With
MsgBox "Информация собрана из " & iNumFiles & " файлов!", vbInformation, "Конец"
Range("I:I,K:K,R:R,S:S,T:T,AF:AF,AG:AG,AH:AH,AI:AI,AJ:AJ,AK:AK").Select
Selection.EntireColumn.Hidden = True
End Sub
|
Приложил файл наиболее близкий по формату к используемому в реале.
Спасибо.