【问题标题】:How to make summary report from all open excel workbooks through vba?如何通过vba从所有打开的excel工作簿中制作摘要报告?
【发布时间】:2014-05-11 15:14:20
【问题描述】:

我有一个文件夹,其中包含具有单张工作表的相同类型的工作簿,即发票表。 我想要一个 vba 代码,这样我就可以在一个新的工作簿中制作一个汇总报告,该报告将从每个工作簿中复制账单编号、客户姓名、金额等,它还将计算总金额。我希望你明白什么我的意思是说。 有没有聪明的头脑?

【问题讨论】:

  • 很好的问题和 VBA 绝对可以做到的事情。两个明确的问题:(1) 您是否想将所有内容合并到一个 Worksheet 中进行报告,或者您是否正在寻找一个包含多个 Worksheets 的单个 Workbook 来总结所有内容? (2) 到目前为止你累了什么?

标签: vba excel invoice


【解决方案1】:

使用这个。

 Sub GetSheets()
    Path = "C:\Users\dt\Desktop\dt kte\"
    Filename = Dir(Path & "*.xls")
    Do While Filename <> ""
    Workbooks.Open Filename:=Path & Filename, ReadOnly:=True
    For Each Sheet In ActiveWorkbook.Sheets
    Sheet.Copy After:=ThisWorkbook.Sheets(1)
    Next Sheet
    Workbooks(Filename).Close
    Filename = Dir()
    Loop
    End Sub

【讨论】:

  • 兄弟,我不希望将所有工作簿中的工作表复制到摘要工作簿中,但我希望将每个工作簿第一个工作表中的 A1、B3、D10 等单元格值复制到摘要工作簿的第一个工作表中。例如 - 汇总表将分别从 A2、B2、C2 行中的第一个工作簿和 A3、B3、C3 行中的第二个工作簿获取账单编号、客户姓名、金额。
  • 您可以在每个循环之间修改此代码,您可以复制任何您想要复制的范围。您还需要付出一些努力。
  • 您的路径包含一个空格,完全不推荐。更改dt kte
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多