Vba 将多个不同的工作表合并到具有奇怪格式的主模板中

Vba 将多个不同的工作表合并到具有奇怪格式的主模板中,vba,excel,Vba,Excel,这可能看起来有点复杂,所以如果我需要更清楚的话,请告诉我 我从一个部门收到约20份报告,我负责将每个报告中特定工作表中的数据合并到一个主文件中。所有的报告都是完全相同的,数据范围几乎都是固定的。我对VBA比较陌生,但通过研究,我能够拼凑出一段代码,使用循环将所有数据复制并粘贴到新工作簿中。但是,如果我可以将这些数据直接放入报表模板中,那将是非常理想的。这就是我需要帮助的地方。模板的格式不理想-我的标题要到25秒才开始,底部有一个totals选项卡和说明,所以我不能只将值放在最后一个空行中 我想弄

这可能看起来有点复杂,所以如果我需要更清楚的话,请告诉我

我从一个部门收到约20份报告,我负责将每个报告中特定工作表中的数据合并到一个主文件中。所有的报告都是完全相同的,数据范围几乎都是固定的。我对VBA比较陌生,但通过研究,我能够拼凑出一段代码,使用循环将所有数据复制并粘贴到新工作簿中。但是,如果我可以将这些数据直接放入报表模板中,那将是非常理想的。这就是我需要帮助的地方。模板的格式不理想-我的标题要到25秒才开始,底部有一个totals选项卡和说明,所以我不能只将值放在最后一个空行中

我想弄清楚如何确保我从中提取的第一个工作表中的数据放在A26中,并将以下工作表中的数据放在下一个可用单元格中

下面是我目前拥有的代码。我大体上理解事情的意思,但请记住我是一个VBA noob。。。所以要友善:)

子合并数据()
将文件名设置为字符串,将文件路径设置为字符串,将文件夹路径设置为字符串
将最后一个单元格设置为范围
使用此工作簿。工作表(“表1”)
设置LastCell=.Cells(.Rows.Count,1)
以
FolderPath=“C:\Desktop”'已更改以保护隐私
FilePath=FolderPath&“*.xls*”
FileName=Dir(文件路径)
文件名“”时执行此操作
打开(文件夹路径和文件名)
工作表(“SBP WIP”).范围(“A26:AK336”).副本
LastCell.End(xlUp).Offset(1).Paste特殊XLPaste值
ActiveCell,收到
.关闭错误
以
FileName=Dir
环
端接头

谢谢

在第一个带有End With block的代码中,只需添加一行即可

With ThisWorkbook.Worksheets("Sheet1")
    .Range("A25").Value = "X" ‘ make sure to hit row 25 in subsequent “xlUps”
    Set LastCell = .Cells(.Rows.Count, 1)
End With
在宏结束之前添加:

ThisWorkbook.Worksheets("Sheet1").Range("A25").ClearContents

数据仍然粘贴在模板的最底部,在总计行和指令之后。我理解逻辑,但它仍然在工作表中找到最后一个值,而不是第25行中的X。请参见编辑后的答案:我在
范围(“A25”)
之前添加了一个缺少的点(
),这使它成为
此工作簿的子项。工作表(“Sheet1”)
。如果这解决了你的问题,你可以考虑把答案标记为“接受”。感谢您Row 25已经有了标题,但是即使我将值更改为X,我想要的数据仍然会粘贴到模板的最底部。
ThisWorkbook.Worksheets("Sheet1").Range("A25").ClearContents