【发布时间】:2020-09-26 00:05:14
【问题描述】:
第一次发帖,我还远不是 VBA 专家,但多亏了像这样的板子,我设法在大部分路上跌跌撞撞地达到了我想要的结果。我希望自动化最后一步,并正在寻求帮助。
背景: 我每周一早上为我们的项目经理编写项目报告。报告模板查询我们数据库中的几个表并填充所有适当的字段。然后它会创建自己的副本,将公式保存为值,并使用命名机制从报告中的各个字段捕获数据来保存报告。所有这些都很棒!
问题: 在任何时候,我都有 80-100 个活跃的项目。就目前而言,我将项目列表复制到“参数”选项卡上的表中。然后,使用数据验证,我在“报告”选项卡上创建了一个下拉列表。然后,我手动逐个遍历列表以生成报告。每次我在单元格 B1 中更改项目编号时,数据都会刷新并运行该项目的报告。我正在使用此代码来完成此操作:
Private Sub Worksheet_Change(ByVal Target As Range)
'MsgBox Target.Address
If Not Application.Intersect(Range("b1"), Range(Target.Address)) Is Nothing Then
Call AA_RunAll
End If
End Sub
我想做的是创建一个宏,它将运行我列表中的每个项目并运行报告。我假设它是一个循环函数,但我似乎无法让它按我想要的方式工作。
另一个需要注意的注意事项:每份报告需要 3-5 分钟来刷新所有数据、生成报告并保存。我想将它设置为在我晚上离开之前运行并在早上完成。
提前致谢。
亚伦
【问题讨论】: