vba - MsgBox SelectionChange 定义范围

标签 vba optimization msgbox

我编写了以下代码:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim myValue As Variant
If Range("B22") = "Yes" Then
        myValue = InputBox("InsertInitialDetach")
        Range("C22").Value = myValue
    End If
End Sub

此代码旨在执行以下操作:如果我从“是/否”下拉列表中选择"is",则会出现一个消息框并要求我填写日期。 问题是,即使在我填写了日期之后,无论我之后做什么,该框都会继续出现并询问日期。例如,如果我向下移动两个单元格,弹出窗口将继续询问我日期。 请告诉我应该做什么来修复这个错误?

最佳答案

这样可以吗:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Dim myValue As Variant
    If (Not Intersect(Range("B22"), Target) Is Nothing) And (Range("B22") = "Yes") Then
        myValue = InputBox("InsertInitialDetach")
        Range("C22").Value = myValue
    End If
End Sub

它每次都会检查您是否要更改 Range("B22") 以及 Range("B22") 是否为"is"。

关于vba - MsgBox SelectionChange 定义范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49410492/

相关文章:

excel - 在列中查找匹配项并从外部文件替换

excel - Countif on sheet with 700k rows freezes program

excel - "Method range of global object"错误

c - 曾几何时,> 比 < ... 快,什么?

mysql - 围绕唯一数据对 MySQL 表进行分区

powershell - 是否可以从 powershell 脚本对 vbscript msgbox 使用react?

vba - 尝试使用 VBA 在 Access 中打开记录集时出现 "Too few parameters error"

Javascript 优化 - 是否有更简单的方法来加速 Javascript?

excel - Excel VBA : How to stop program and return to certain step in code, 'bypassing modal limitations of MsgBox'

vba - 自动填充 MsgBox