gpt4 book ai didi

excel - 创建在格式更改时运行的 volatile Excel 函数

转载 作者:行者123 更新时间:2023-12-02 10:24:23 24 4
gpt4 key购买 nike

我是创建 Excel 函数的新手,我需要创建一个函数,该函数接受一系列单元格,并计算不带删除线的单元格值的总和。

Function SUMNOTSTRIKE(rng As Range)
Dim cell As Range
For Each cell In rng
If Not (cell.Font.StrikeThrough) Then
SUMNOTSTRIKE = SUMNOTSTRIKE + cell.Value
End If
Next cell
End Function

这个函数工作正常,但我不明白为什么删除线或删除删除线时结果没有自动刷新。我必须再次执行该函数。

我读到了一些有关 Application.Volatile 的内容,但这仅适用于值更改。我需要在格式更改时触发该函数。

最佳答案

扩展我的评论。如果添加

Application.Volatile

到您的函数定义(按照惯例,作为第一行),然后在工作表的代码模块中包含:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Application.Calculate
End Sub

然后,只要选择更改,所有 volatile 函数都将重新计算。如果您只是更改所选单元格的删除线并保持该单元格处于选中状态,则不会进行任何重新计算,但当您转到其他单元格时,您的函数可能会更新。

作为警告,始终触发 Application.Calculate 可能会降低 Excel 的速度。根据您的情况,这可能不是一个适当的解决方案。

关于excel - 创建在格式更改时运行的 volatile Excel 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39947379/

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