提问人:AesusV 提问时间:1/11/2022 更新时间:1/11/2022 访问量:138
Excel VBA自动排序与手动计算
Excel VBA Auto Sort with Manual Calculation
问:
我有一个工作簿,其中有很多数组公式处于活动状态,因此我关闭了自动计算,以便让一些较小的公式更快地运行。这需要我添加VBA代码来调用某些范围,以根据某些条件进行计算。
我目前在一个范围内有一些公式,如果下拉列表中出现一个值,它们将被清空,这是我的解决方法,可以过滤掉两个以上的条件。
我目前的问题是我希望能够调整下拉列表以在列表末尾放置空白(即过滤器降序 Z-A),但我不知道如何组合.使用 排序。算。
TL:DNR 开启了手动计算,需要 VBA 在公式运行后触发计算,以自动排序递减。
If Target.Address = "$F$19" Then
Sheets("DO NOT DELETE").Range("P3:P33").Calculate 'Calculating formulas in range
Range("P3", Range("P3").End(xlDown)).Sort Key1:=Range("P3"), Order1:=xlDescending, Header:=xlYes
'Data set begins on P3 with a header in P2
Sheets("DO NOT DELETE").Range("P3:P33").Calculate
在 F19 中选择值时,P3:P33 中的公式可以毫无问题地运行,但不会自动排序......
我的想法是添加另一个.计算指令,以便它有望进行排序,但没有骰子。
我也尝试过以这种方式编写代码,以防我在上面写错了(虽然 我没有收到任何错误)
Sheets("DO NOT DELETE").Range("VAL_TECHNOLOGY").Sort Key1:=Range("P2"), Order1:=xlDescending
这将返回 1004 运行时错误,指出排序引用无效。
如果有人能提供一些指导,我将不胜感激。
谢谢
答: 暂无答案
上一个:自动筛选条件中的 LEFT 函数
评论
key1
DO NOT DELETE