gpt4 book ai didi

vba - 更新 VBA 自定义函数

转载 作者:行者123 更新时间:2023-12-01 16:36:43 25 4
gpt4 key购买 nike

我有以下函数(返回任何选定列的最后一行号)

Function LastrowCC(SelectedRange As Range)
Dim SelectedColumnNum As Long
SelectedColumnNum = SelectedRange.Column
LastrowCC = ActiveSheet.Cells(Rows.count, SelectedColumnNum).End(xlUp).Row
End Function

问题是当删除所选列的最后一行时,该函数不会自动更新

我们可以让 VBA 自定义函数在输入更改时自动更新吗?

最佳答案

冒着重复已经发布的有用评论和答案的风险,让我指出您的问题涉及几个问题,MSDN 文章“Excel Recalculation”中对此进行了很好的总结。

更具体的问题,包括 Excel 版本以及在工作表上处理计算的方式,可能有助于缩小范围。

让我总结一下您可能想要查看的一些内容,所有这些都在上面的文章中列出:

  • 触发重新计算的方式有多种,包括函数。研究这种情况发生的方式可能会带来一些见解。根据该文章,“Excel 中工作表的计算可以视为一个三阶段过程:
    1. 构建依赖树,
    2. 构建计算链,
    3. 重新计算单元格。”
  • 可变函数是一种选择,但由于资源消耗,应谨慎而明智地使用。
  • 您还可以探索Range.DirtyRange.Calculate方法,从 Excel 2002 开始(这比我们中的一些人意识到的还要早!)允许“强制重新计算”,再次引用上面的文章。

这些是一些选项和需要考虑的事项。

关于vba - 更新 VBA 自定义函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23409461/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com