Excel中的条件popup窗口

我正在寻找基于某些单元格的内容在Excel表单中显示一个popup式窗口。 例如,如果B3,C3,D3或F3的内容不等于“选项A”或“选项B”,则显示带有“用户通知”文本的popup窗口。 我不希望使用数据validation来创build“选项A”,“选项B”和“其他”的下拉菜单,因为我希望用户能够在指定单元格中描述“其他”(B3,C3,D3或F3),但我想通知他们需要描述什么。 有没有一个macros可以做到这一点? 或者更好的是,我可能不知道的一些Excel函数不需要macros?

将下面的事件macros放在工作表代码区域中:

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 

因为它是工作表代码,所以安装和自动使用非常简单:

  1. 右键单击Excel窗口底部附近的选项卡名称
  2. select查看代码 – 这会popup一个VBE窗口
  3. 粘贴东西,closuresVBE窗口

如果您有任何疑问,请先在试用工作表上尝试。

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

要删除macros:

  1. 调出上面的VBE窗口
  2. 清除代码
  3. closuresVBE窗口

要了解有关macros的更多信息,请参阅:

http://www.mvps.org/dmcritchie/excel/getstarted.htm

http://msdn.microsoft.com/en-us/library/ee814735(v=office.14).aspx

要了解有关事件macros(工作表代码)的更多信息,请参阅:

http://www.mvps.org/dmcritchie/excel/event.htm

macros必须启用这个工作!