Подскажите как вытянуть 1 ячейку из 500 файлов и сделать из этих данных таблиц Например: У меня есть файлы в ячейке F13 есть надпись, ее необходимо скопировать и вставить в таблицу и так каждый файл по очереди. По итогу должно получится 501 строка с данными ячейки F13. Не могу найти ничего подходящего.
БМВ, да имеют, но я полагал что достаточно выделения файлов, и после макрос проходил бы их как тут
Скрытый текст
Код
Sub CombineWorkbooks()
Dim FilesToOpen
Dim x As Integer
Application.ScreenUpdating = False 'отключаем обновление экрана для скорости
a1 = Range("B4")
a2 = Range("B5")
'вызываем диалог выбора файлов для импорта
FilesToOpen = Application.GetOpenFilename _
(FileFilter:="All files (*.*), *.*", _
MultiSelect:=True, Title:="Files to Merge")
If TypeName(FilesToOpen) = "Boolean" Then
MsgBox "Не выбрано ни одного файла!"
Exit Sub
End If
'проходим по всем выбранным файлам
x = 1
While x <= UBound(FilesToOpen)
Set importWB = Workbooks.Open(Filename:=FilesToOpen(x))
'А1 - ячечку что мы редактируем, что вставляем "123.45"
Range(a1) = a2
importWB.Close savechanges:=True
x = x + 1
Wend
Application.ScreenUpdating = True
End Sub
а так идут по порядку от 08-3418.xlsm по 08-3818.xlsm Шаблон - файл откуда надо взять данные и таблица куда надо списком вставить
что значит не берет данные? (а для чего ж я это писал, именно для того чтобы взять данные с ячейки Ф13 первого листа КАЖДОГО выбранного файла) файлы выбирали? хоть одно значение помните? скопируйте его и нажмите поиск после того, как выполнили макрос или можете сделать поиск * прямо сейчас нашли значения?
Ігор Гончаренко, Простите, но мне не надо найти данные, а взять 500 по сути (шаблонов) файлов, из каждого файла взять ячейку F13 скопировать и вставить в другую таблицу по очереди. в итоге должен получится список данных (500 строчек данных).
запускайте макрос выберите 500 файлов получите список из 500 значений выберите 2-3 файл получите список из 2-3 значений, что не так? 2-3 файла выбирали? ищите полученный список в Листе1 высланного мною файла СобратьДанныеСФ13 (поиск это Ctrl+F ищите звездочку *) данные из какого из выбранных вами файлов не попали в список? какого из выбранных?
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
посмотрите сообщение №1, где там написано про общий скоп? 1. мой макрос позволяет собрать данные с 500 файлов? да / нет ? 2. список из них формирует да / нет ? я даже над списком добавил слово Address))) что вам еще?
Sub Get_All_File_from_Folder()
Dim sFolder As String, sFiles As String
Dim wb As Workbook
Dim rres As Range
'диалог запроса выбора папки с файлами
With Application.FileDialog(msoFileDialogFolderPicker)
If .Show = False Then Exit Sub
sFolder = .SelectedItems(1)
End With
sFolder = sFolder & IIf(Right(sFolder, 1) = Application.PathSeparator, "", Application.PathSeparator)
'отключаем обновление экрана, чтобы наши действия не мелькали
Application.ScreenUpdating = False
Set rres = ActiveSheet.Range("B1")
sFiles = Dir(sFolder & "*.xls*")
Do While sFiles <> ""
'открываем книгу
Set wb = Application.Workbooks.Open(sFolder & sFiles)
'действия с файлом
'Запишем на первый лист книги в ячейку А1 - www.excel-vba.ru
rres.Offset(1).Value = wb.Sheets(1).Range("F13").Value
'Закрываем книгу с сохранением изменений
wb.Close True 'если поставить False - книга будет закрыта без сохранения
Set rres = rres.Offset(1)
sFiles = Dir
Loop
'возвращаем ранее отключенное обновление экрана
Application.ScreenUpdating = True
End Sub
все готово
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
откровенная ложь. макрос формирует список из данных ячеек Ф13 с первых листов всех выбранных файлов что ж вы так неаккуратно? со словами??? просто когда я просил уточнить зздачу, вы мне ответили:
теперь видите в чем непонятность? кстати сформированный макросом список на скрине из сообщения 16, почти такой же как на скрине из сообщения 1. т.е. список как список, что с него взять а сейчас понимаете в чем непонятность вашего первого скрина? а сразу не понятно, что он совершенно не информативен?
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
Я полагал что можно макросом просто вставит ссылки и значения потом На базе кода дмитрия.
Код
Sub Get_All_File_from_Folder()
Dim sFolder As String, sFiles As String
Dim wb As Workbook
Dim rres As Range
'диалог запроса выбора папки с файлами
With Application.FileDialog(msoFileDialogFolderPicker)
If .Show = False Then Exit Sub
sFolder = .SelectedItems(1)
End With
sFolder = sFolder & IIf(Right(sFolder, 1) = Application.PathSeparator, "", Application.PathSeparator)
'отключаем обновление экрана, чтобы наши действия не мелькали
Application.ScreenUpdating = False
Set rres = ActiveSheet.Range("B1")
sFiles = Dir(sFolder & "*.xls*")
Do While sFiles <> ""
With rres.Offset(1)
.Formula = "='" & sFolder & "[" & sFiles & "]карточка'!$F$13"
.Value = .Value
End With
Set rres = rres.Offset(1)
sFiles = Dir
Loop
'возвращаем ранее отключенное обновление экрана
Application.ScreenUpdating = True
End Sub