excel - 如何修复由于宏而未自动更新的单元格
问题描述
我有一个单元格可以更新任何费用的余额。因为excel中没有减法函数,所以我写了这个简单的宏:
Private Function SubtractChecking(cell As Range)
Dim currentBalance As Single
currentBalance = cell.Value
SubtractChecking = currentBalance - WorksheetFunction.Sum(Range("B7:M23"))
End Function
该函数有效,但保存此函数的单元格不会自动更新计算;我检查了 Excel 计算选项是否设置为自动。我要么必须双击单元格来更新它,要么使用 Ctrl-Shift-Alt-F9 来更新。我认为这与宏有关,但我不知道。
解决方案
您将范围引用作为 currentBalance 的参数传递给函数,而不是用于修改余额的范围。
Private Function SubtractChecking(cell As Range, vals as range)
Dim currentBalance As Single
currentBalance = cell.Value2
SubtractChecking = currentBalance - WorksheetFunction.Sum(vals)
End Function
用法:=SubtractChecking(A1, B7:M23)
使用本机工作表函数 SUM:=sum(a1, -sum(B7:M23))
推荐阅读
- html - 响应式设计中的日历日期选择器
- javascript - 如何根据 rgb 和 rgba 背景颜色更改文本颜色?
- javascript - 如何仅从 imdb 数据库中获取评级?
- c# - ASP.NET Core - 将行从一个 dev express 网格添加到另一个
- android - 如何以编程方式设置 ConstraintLayout 的 XML 属性“layout_constrainedWidth”?
- c++ - How do you choose the device to perform operations on opencv-dnn?
- javascript - 如何避免 Firefox 确认消息“要显示此页面,Firefox 必须发送将重复任何操作的信息”?
- c++ - 如何检查字符串中的特殊字符?
- javascript - 在玩笑测试中使用 expect.assertions(x) 与使用 fail()
- google-maps - What is Google Maps Platform Transition Account