如何“提醒”用户填写工作表上的单元格

时间:2010-03-15 23:50:23

标签: excel

您好:我在名为“Docs”的工作表上有一组单元格。细胞范围是(B13:C23)。 当用户进入此页面时,他们打算用0到6之间的值填写每个单元格。我的问题:是否有一些代码可以附加到此工作表中,如果用户没有填写任何单元格(即将其留空)并尝试离开工作表或关闭工作簿,它们会以某种方式提醒填写它?或者有没有办法让它们离开表单直到它完成?谢谢..艾伦

3 个答案:

答案 0 :(得分:2)

您可以将宏附加到表单的change事件。 Excel带有内置验证,但效果不佳。例如,如果有人将值粘贴到单元格中,则不会验证粘贴的内容。

首先选择要验证的单元格范围来创建范围,右键单击并选择“命名范围”。请注意,我正在使用Excel 2007对此进行测试。假设您将范围称为“InputRange”。

然后打开VBA编辑器并为更改事件创建一个过程。

Private Sub Worksheet_Change(ByVal Target As Range)
  Dim vrange As Range, cell As Range
  Set vrange = Range("InputRange")
  If Intersect(vrange, Target) Is Nothing Then Exit Sub
  For Each cell In Intersect(vrange, Target)
     If cell.Value < 1 Or cell.Value > 6 Then
        MsgBox "Invalid Entry", vbCritical
        Application.EnableEvents = False
        cell.ClearContents
        cell.Activate
        Application.EnableEvents = True

     End If
  Next cell
End Sub

请注意,您可以附加任何适合您的活动。

答案 1 :(得分:1)

您可以为这些单元格指定条件格式,如果为空则将其设置为红色。

答案 2 :(得分:0)

尝试编写vba宏。 Alt + F11打开VB编辑器。查看this SO post了解VBA教程。

您可以使用工作表和工作簿事件。例如,Workbook_BeforeClose或Workbook_SheetChange。如果为这些事件创建方法,则可以将代码放入其中以检查是否填充了所需的单元格。