本帖最后由 砂海 于 2017-3-5 14:26 编辑
"并且还会影响到打开的其他表变为手动计算.
"Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.Calculation = xlCalculationAutomatic
End Sub
文件关闭前 开启自动计算
-------------------------------------------------------------------
卡的原因是太多 数组公式 ,进行不必要的计算
表5 添加 2个辅助单元格 , 这样表5 只有一次 数组运算
N5 本编号 行号
=LOOKUP(1,0/($C$2=表一!$A$5:$A$105),ROW(表一!$A$5:$A$105))
N6 本编号 行数
=MIN(IF(ROW(表一!$A$5:$A$105)*(表一!$A$5:$A$105<>"")*(ROW(表一!$A$5:$A$105)>N5),ROW(表一!$A$5:$A$105),65536))-N5
数组公式
===============================
A10=
=IF(ROW(A1)<=$N$6,INDEX(表一!$C:$C,SUM($N$5-1+ROW(A1))),"")
下拉,
其余参考这个
这样就不用 每个单元格进行复杂的数组运算
另:进一步说 N5应该再减1 , A10 就不用再减了 , 当然这个影响很小 , 可以忽略
不是竞赛 , 应该多考虑辅助单元格
|