Вот (в значительной степени) именно то, что вы пытаетесь сделать. В следующий раз сделайте немного googling, прежде чем спросить! :)
http://www.excel-easy.com/vba/examples/files-in-a-directory.html
ГРУБАЯ КОД СОМНЕНИЯ если он будет работать: Но вот основная идея о том, что нужно изменить в примере, который я послал вас. Если вы снова посмотрите на пример, он сделает все, что вам нужно, а затем и некоторые. Поскольку вас не интересовали все рабочие листы, вам не нужно перебирать все рабочие листы в книге. Вы можете просто открыть его, прочитать интересующую вас ячейку, а затем закрыть ее. Цикл Do While сделает это для каждого файла Excel в вашем каталоге. ЕЩЕ РАЗ! Пожалуйста, измените этот пример, прежде чем использовать его.
Dim directory As String, fileName As String, sheet As Worksheet, i As Integer, j As Integer
Application.ScreenUpdating = False
directory = "c:\test\"
fileName = Dir(directory & "*.xl??")
Do While fileName <> ""
i = i + 1
Workbooks.Open (directory & fileName)
Workbooks("files-in-a-directory.xls").Worksheets(1).Cells(i, 1).Value = Workbooks(fileName).Worksheets(1).Cells(x, y) <-- whatever your cell of interest is
Workbooks(fileName).Close
fileName = Dir()
Loop
Application.ScreenUpdating = True
Спасибо я посмотрю, я на самом деле, совсем немного, я попробовал несколько, но казалось, что они либо взорваться или скопировать весь лист ... –
Нет проблем! Я действительно должен был решить эту проблему некоторое время назад. Ключ - когда вы открываете книгу (в коде), вы можете сузить свой параметр поиска до одной ячейки, а не только от листа. – DeeWBee
Ahhh его близко, но не совсем то, что мне нужно, это получает имена файлов, мне нужны данные из определенной ячейки. –