在多个工作簿中查找某些值并将它们相加

时间:2018-12-19 16:13:34

标签: excel vba excel-vba excel-2013

几天来,我一直在寻找一种简单的方法来集中来自庞大的工作簿数据库的某些数据。 我不习惯使用VBA,但是为了获得结果,我不知何故做了一个小计划 到目前为止,我阅读了很多主题,并为该方案的每个部分找到了部分答案,但我无法将它们链接起来。 我介绍目前的情况: 我有很多文件夹,其中包含带有一个或几个工作表的工作簿(行不遵循模式,列遵循)。 每个文件夹代表一个项目。 每个项目都有一个或多个工作表,其中也包含一个或多个工作表。 这些工作表中存储了一定数量的产品,如下所示: Fullsize view Picture 1

绿色代表产品名称,黄色代表数量。 我制作了一个主要工作簿来分析这些数据,但我必须手动输入有关每种产品的每种数量的信息。

Fullsize view Picture 2

行包含有关项目的信息,以及指向文件夹的超链接,第一行的棕色列包含产品的缩写(请参阅绿色单元格)和指定产品的数量总和。 我正在尝试找到一种方法,比方说,从主工作簿的T3单元中,从整个项目“ X”中获得“ GKB 12,5”乘积的总和。 到现在为止,我已经有了用于选择文件夹的代码,但是我无法设法在项目中每个工作簿的每个工作表中查找某些产品名称并对其求和。 这是代码:

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

您能帮我提供一些想法或相关职位吗? 谢谢!

0 个答案:

没有答案