Всем добрый вечер!
Не могли бы вы помочь мне скорректировать макрос?
1. есть несколько файлов .xlsx в папке, у всех одинаковый формат.
2. Задача минимум - нужен макрос, который из всех файлов скопирует определенные ячейки (к примеру A1 и B1) в одну таблицу. В одной из тем на форуме я нашла такой макрос, но он копирует в новый пустой лист, а мне нужно в уже имеющийся(чтобы можно было заранее задать формат ячеек для дальнейшей обработки). Как поправить - не знаю.
Вот код:
Sub CopyAll()
Dim arFiles, x, c As Range
arFiles = Application.GetOpenFilename("Ôàéëû Excel, *.xl*", , "Âûáåðèòå ôàéëû", , True)
If Not IsArray(arFiles) Then Exit Sub
Application.ScreenUpdating = False
Set c = Workbooks.Add(xlWBATWorksheet).Sheets(1).Range("A3:B3")
For Each x In arFiles
With Workbooks.Open(x, ReadOnly:=True)
c.Value = Array(Range("A3"), Range("B3"))
Set c = c.Offset(1)
.Close 0
End With
Next
Application.ScreenUpdating = True
End Sub
Кроме того, я не понимаю, как указать, из какого листа каждого файла (а их там по несколько) нужно брать информацию.
Спасибо.
Не могли бы вы помочь мне скорректировать макрос?
1. есть несколько файлов .xlsx в папке, у всех одинаковый формат.
2. Задача минимум - нужен макрос, который из всех файлов скопирует определенные ячейки (к примеру A1 и B1) в одну таблицу. В одной из тем на форуме я нашла такой макрос, но он копирует в новый пустой лист, а мне нужно в уже имеющийся(чтобы можно было заранее задать формат ячеек для дальнейшей обработки). Как поправить - не знаю.
Вот код:
Sub CopyAll()
Dim arFiles, x, c As Range
arFiles = Application.GetOpenFilename("Ôàéëû Excel, *.xl*", , "Âûáåðèòå ôàéëû", , True)
If Not IsArray(arFiles) Then Exit Sub
Application.ScreenUpdating = False
Set c = Workbooks.Add(xlWBATWorksheet).Sheets(1).Range("A3:B3")
For Each x In arFiles
With Workbooks.Open(x, ReadOnly:=True)
c.Value = Array(Range("A3"), Range("B3"))
Set c = c.Offset(1)
.Close 0
End With
Next
Application.ScreenUpdating = True
End Sub
Кроме того, я не понимаю, как указать, из какого листа каждого файла (а их там по несколько) нужно брать информацию.
Спасибо.