Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel中的条件弹出窗口_Excel - Fatal编程技术网

Excel中的条件弹出窗口

Excel中的条件弹出窗口,excel,Excel,我希望根据某些单元格的内容在excel表格中显示一个弹出窗口。例如,如果B3、C3、D3或F3的内容不等于“选项A”或“选项B”,则显示带有文本“用户通知”的弹出窗口。我不想使用数据验证创建带有“选项a”、“选项B”和“其他”的下拉列表,因为我希望用户能够在指定的单元格(B3、C3、D3或F3)中描述该“其他”,但我希望通知他们需要描述的内容。是否有一个宏可以实现这一点?或者更好的是,我可能不知道excel的某些功能不需要宏?在工作表代码区域中放置以下事件宏: Private Sub Works

我希望根据某些单元格的内容在excel表格中显示一个弹出窗口。例如,如果B3、C3、D3或F3的内容不等于“选项A”或“选项B”,则显示带有文本“用户通知”的弹出窗口。我不想使用数据验证创建带有“选项a”、“选项B”和“其他”的下拉列表,因为我希望用户能够在指定的单元格(B3、C3、D3或F3)中描述该“其他”,但我希望通知他们需要描述的内容。是否有一个宏可以实现这一点?或者更好的是,我可能不知道excel的某些功能不需要宏?

在工作表代码区域中放置以下事件宏:

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim CellsOfInterest As Range
    Dim Rint As Range
    Dim r As Range
    Dim s As String

    Set CellsOfInterest = Range("B3:D3, F3")
    Set Rint = Intersect(Target, CellsOfInterest)

    If Not Rint Is Nothing Then
        For Each r In Rint
            s = r.Value
            addy = r.Address(0, 0)
            If s <> "Option A" And s <> "Option B" And s <> "" Then
                MsgBox "User Notification " & r.Address(0, 0)
            End If
        Next r
    End If
End Sub
Private子工作表\u更改(ByVal目标作为范围)
暗淡的单元格范围
暗印范围
调光范围
像线一样变暗
设置单元格利息=范围(“B3:D3,F3”)
设置Rint=Intersect(目标,单元格)
如果不是的话,那就什么都不是了
对于每一个r的打印
s=r.值
addy=r.地址(0,0)
如果s“选项A”和s“选项B”以及s“”,则
MsgBox“用户通知”和r.Address(0,0)
如果结束
下一个r
如果结束
端接头
由于它是工作表代码,因此安装和自动使用非常容易:

  • 在Excel窗口底部附近的选项卡名称上单击鼠标右键
  • 选择查看代码-这将打开一个VBE窗口
  • 粘贴内容并关闭VBE窗口
  • 如果您有任何顾虑,请先在试用工作表上试用

    如果保存工作簿,宏将与工作簿一起保存。 如果在2003年以后使用Excel版本,则必须保存 文件的格式为.xlsm而不是.xlsx

    要删除宏,请执行以下操作:

  • 如上所述打开VBE窗口
  • 清除代码
  • 关闭VBE窗口
  • 要了解有关宏的更多信息,请参阅:

    要了解有关事件宏(工作表代码)的详细信息,请参阅:


    必须启用宏才能工作

    您需要在工作表更改事件中使用vba。