В течение нескольких дней я пытаюсь найти простой способ централизовать некоторые данные из огромной базы данных рабочих книг.Я не привык к VBA, но каким-то образом я создал небольшую схему, чтобы получить результат. До сих пор я читаю много тем и нахожу частичные ответы для каждой части этой схемы, но не могу связать их.Я представляю текущую ситуацию: у меня есть много папок, которые содержат рабочие книги с одним или несколькими рабочими листами (строки не соответствуют шаблону, столбцы - нет).Каждая папка представляет проект.Каждый проект имеет одну или несколько рабочих таблиц, которые также содержат одну или несколько рабочих таблиц.В этих таблицах хранятся количества продуктов, как показано ниже: Полноразмерное изображение Изображение 1
Зеленым цветом обозначены названия продуктов, а желтым - количества.Я сделал основную рабочую тетрадь, которая анализирует эти данные, но я должен вручную ввести информацию о каждом количестве каждого продукта.
Полноразмерное представление Изображение 2
Строки содержат информацию о проекте и гиперссылки на папки, а коричневые столбцы в первой строке содержат аббревиатуру:продукты (см. зеленые ячейки) и сумма количеств для названного продукта.Я пытаюсь найти способ, скажем, на ячейку T3 из основной рабочей книги, сумму продукта "GKB 12,5" из всего проекта "X".До сих пор у меня есть код для выбора папки, но мне не удается найти определенные названия продуктов в каждой рабочей таблице каждой рабочей книги в проекте и суммировать их.Вот код:
Sub Cauta_in_folder()
Dim wb As Workbook
Dim Path As String
Dim File As String
Dim Extention As String
Dim Folderselect As FileDialog
'Optimize Macro Speed
Application.ScreenUpdating = False
Application.EnableEvents = False
Application.Calculation = xlCalculationManual
Set Folderselect = Application.FileDialog(msoFileDialogFolderPicker)
With Folderselect
.Title = "Selecteaza folder"
.AllowMultiSelect = False
If .Show <> -1 Then GoTo Code
Path = .SelectedItems(1) & "\"
End With
Code:
Path = Path
If Path = "" Then GoTo ResetSettings
Extension = "*.xlsx*"
File = Dir(Path & Extension)
Do While File <> ""
Set wb = Workbooks.Open(fileName:=Path & File)
DoEvents
' Here I cannot put in order a code who lookup for certain value whithin workbooks and sum
wb.Close SaveChanges:=True
DoEvents
File = Dir
Loop
MsgBox "Cautare terminata!"
ResetSettings:
'Reset Macro Optimization Settings
Application.EnableEvents = True
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
End Sub
Не могли бы вы помочь мне с некоторыми идеями или, возможно, связанными постами?Спасибо!