【发布时间】:2021-04-19 18:05:19
【问题描述】:
我想将多个工作簿的第一页合并到一个主工作簿中。数据始终以相同的方式结构化。除此之外,我还想在我的主工作簿中添加一张汇总所有数据的表格(将每张表格的所有数字相加,例如 1+1+1=3)。
到目前为止,我从这段代码开始。然而,我不知道如何用不同的工作簿在 VBA 中进行总结(这就是为什么它没有包含在代码中)
提前谢谢各位!
'Defining
Dim wb As Workbook
Dim ws As Worksheet
Dim directory As String
Dim myFiles As String
Dim targetwb As Workbook
Set targetwb = ThisWorkbook
Application.ScreenUpdating = False
directory = "C:\Dokumente\"
myFiles = Dir(directory & "*.xlsx")
'Loop through all files in a folder until DIR cannot find anymore
Do While myFiles <> ""
'Open Workbooks one by one 'Do i really have to use the "set command"???
Set wb = Workbooks.Open(Filename:=directory & myFiles)
'The actual action
'Countries:
'Brazil:
If wb.Name = "Brazil*" Then
Worksheets("Status Overview").Copy ThisWorkbook.Worksheets("Brazil")
End If
'Kosovo:
If wb.Name = "Kosovo*" Then
Worksheets("Status Overview").Copy ThisWorkbook.Worksheets("Kosovo")
End If
'United States:
If wb.Name = "United States*" Then
Worksheets("Status Overview").Copy ThisWorkbook.Worksheets("United States")
End If
Workbooks(myFiles).Close
myFiles = Dir
Loop
Application.ScreenUpdating = True```
【问题讨论】:
-
嘿,谢谢你的链接!它有很大帮助。关于将多个工作簿中的数据汇总到一个主表中,您还有其他链接吗?
-
将有助于在您的问题中包含您需要做的确切类型的事情的具体示例 - 您发布的代码完全不同。
-
...“将每张纸的所有数字相加”太模糊,无法提供任何建议。 究竟你需要做什么?
-
由于所有表格(来自我公司的国家部门)的结构都相同,因此某些信息(例如利润)总是在同一个单元格中。在 Masterbook 中,我想以表格的形式收集国家信息,但我也想创建一个 mastersheet,我可以在其中找到总利润。我希望这更具体一点。
标签: excel vba loops if-statement