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

您好:我在工作表上有一组名为“Docs”的单元格。 单元格范围是(B13:C23)。 当用户进入这个页面时,他们的意思是用0到6之间的值来填充每个单元格。我的问题:是否有一些代码可以附加到表单中,如果用户没有填写细胞与任何东西(即留下空白),并试图离开工作表或closures工作簿,他们不知何故提醒填补呢? 还是有办法让他们离开工作表,直到完成? 谢谢..艾伦

您可以将macros附加到窗体的更改事件。 Excel自带内置validationfunction,但效果不佳。 例如,如果某人将值粘贴到单元格中,则不会validation所粘贴的内容。

通过select要validation的单元格范围来创build一个范围,右键单击并select“命名一个范围”。 请注意,我正在使用Excel 2007testing这个function。假设你调用你的范围“InputRange”。

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

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 

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

你可以给这些单元格条件格式,如果它们是空的,它们是红色的。

尝试写一个VBAmacros。 Alt + F11打开VB编辑器。 看看这个SO贴子的VBA教程。

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