2015-08-19 4 views
0

У меня есть папка .xlsx файлов, каждая из которых идентична в макете.Excel макрос, чтобы открыть папку Excel и копировать 1 ячейку

Мне нужно написать макрос в excel, чтобы открыть каждый файл по очереди (100+ файлов) , затем получить данные (имя) из одной ячейки и переместить их на новый рабочий лист excel, перейти к следующий и вставить, что ниже последней и т.д.

Давать меня в основном список имен из данных не имена файлов)

ответ

1

Вот (в значительной степени) именно то, что вы пытаетесь сделать. В следующий раз сделайте немного 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 
+1

Спасибо я посмотрю, я на самом деле, совсем немного, я попробовал несколько, но казалось, что они либо взорваться или скопировать весь лист ... –

+0

Нет проблем! Я действительно должен был решить эту проблему некоторое время назад. Ключ - когда вы открываете книгу (в коде), вы можете сузить свой параметр поиска до одной ячейки, а не только от листа. – DeeWBee

+0

Ahhh его близко, но не совсем то, что мне нужно, это получает имена файлов, мне нужны данные из определенной ячейки. –

Смежные вопросы