Поиск определенного значения в нескольких книгах и суммирование их - PullRequest
0 голосов
/ 19 декабря 2018

В течение нескольких дней я пытаюсь найти простой способ централизовать некоторые данные из огромной базы данных рабочих книг.Я не привык к 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

Не могли бы вы помочь мне с некоторыми идеями или, возможно, связанными постами?Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...