excel - 工作表更改:如果某个范围内的单元格值 >c8 -> MsgBox 并且如果其他单元格中的值(其中有函数)> 300 -> MsgBox
问题描述
我想要一个工作表更改宏,只要将大于 8 的值放入范围 (F14:J26) 中的一个单元格中,并且如果将大于 300 的值放入单元格 C37 中,就会弹出一个消息框。
我的问题是单元格 C37 没有手动填写,但里面有一个公式,所以它是对另外两个单元格的计算。而且我认为excel不会将其识别为一个值,因此只要该单元格中的结果高于300,它就不会做任何事情。
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Application.Intersect(Target, Range("F14:J26")) Is Nothing Then
If Target.Value > 8 Then
MsgBox "Was that accepted?"
End If
End If
If Not Application.Intersect(Target, Range("C37")) Is Nothing Then
If Target.Value > 300 Then
MsgBox "Was that accepted?"
End If
End If
End Sub
代码的第一部分可以正常工作。但是上面解释的第二部分没有。我还尝试将其拆分为两个单独的代码,但这显示了一个错误。对此的任何帮助将不胜感激!
解决方案
您有两个(也许更多)可能的选择:
- 使用“Worksheet_Calculate”事件,而不是“Worksheet_Change”事件。
- 如果 C37 中的公式是固定的,则不要监视 C37,而是监视源单元格。
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Application.Intersect(Target, Range("F14:J26")) Is Nothing Then
If Target.Value > 8 OR Range("C37").Value > 300 Then
MsgBox "Was that accepted?"
End If
End If
End Sub
推荐阅读
- google-pagespeed-insights-api - 如何计算 Google Page Speed API 分数
- javascript - 使用函数而不是多个 if else
- php - 目标类 [App\Http\Controllers\User] 不存在
- deep-learning - 如何在google colab中有效地使用内存?
- python - AttributeError:'str'对象在python中没有属性'strftime'
- spring - Spring data R2DBC, saveAll() in one sql query
- javascript - 如何在 .ejs 中显示从异步函数返回的数据?
- html - Adding custom sidebar to Github Page (using Jekyll minimal theme)
- c++ - what operators should be methods , friends, and non-member function?
- r - How to solve this Error in predict.gstat?