Tag: 放缓

VBA子程序在第一次执行后变慢了很多

我有一个子程序,生成5个家庭内不同投资组合的业绩报告。 问题在于所涉及的投资组合从来都不一样,每个家庭的投资额也不相同。 所以,我复制粘贴一个模板(这是格式化的…),并在报告中为每个投资组合添加合适的行(包含公式和…)。 一切工作正常,代码是不是最佳和完美的,当然,但它适用于我们所需要的。 问题不是代码本身,它是当我第一次执行代码时,它会非常快(如1秒)…但是从第二次,代码显着减慢(基本为30秒任务与第一个相同)。 我尝试了所有的手动计算,而不是刷新屏幕,…但它并不是问题的来源。 它看起来像是一个内存泄漏给我,但我找不到问题在哪里! 为什么代码运行速度非常快,但是后来呢太慢了……无论报告的长度和文件的内容如何,​​我都需要closuresexcel并重新打开每个报告。 **不知道我是否清楚,但这不是因为代码使Excel文件变大或什么,因为在第一个(快速)执行后,如果我保存工作簿,closures并重新打开它,(新)第一次执行将再次变得非常快,但是如果我能够在不closures和重新打开的情况下完成同样的动作,那将会非常缓慢…… ^!^ Dim Family As String Dim FamilyN As String Dim FamilyP As String Dim NumberOfFamily As Integer Dim i As Integer Dim zone As Integer Sheets("RapportTemplate").Cells.Copy Destination:=Sheets("Rapport").Cells Sheets("Rapport").Activate i = 3 NumberOfFamily = 0 FamilyP = Sheets("RawDataMV").Cells(i, 4) While (Sheets("RawDataMV").Cells(i, 3) <> "") And (i < […]