如何在Excel 2010中创build一个特定的单元格
大家好,我将为用户提供一个Excel Document
,如下所示
现在,如果用户离开一个需要的单元格,我想提示他一个消息,说这是一个在Excel中的必需值。
我提到了一些文章
但我无法达到我所要求的,所以任何人都可以帮助。 另外我想知道是否可以在Excel
应用Regular expression validators
。 像Date format
应该是mm/dd/yyyy
和SSN
应该是9 digited
像这样的..
我尝试了一些东西,但是这并没有提示我任何error or Dialog
Private Sub Worksheet_BeforeSave(Cancel As Boolean) If Sheet1.Range("A3:B3").Value = "" Then Application.EnableEvents = True MsgBox "Cannot print until required cells have been completed!" Cancel = True End If End Sub
第1部分
该代码有几个问题
- 您需要一个
Workbook
事件 – 没有WorkSheet_BeforeSave事件 - 你不能用
Sheet1.Range("A3:B3").Value = ""
testing两个空白单元格,Sheet1.Range("A3:B3").Value = ""
- 如果代码正在运行,则事件已经启用,所以这行
Application.EnableEvents = True
是多余的
像这样的A3和B3testing在最左边的纸张上是非空白的
{代码进入ThisWorkbook
模块}
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) If Application.WorksheetFunction.CountA(Sheets(1).Range("a3:b3")) <> 2 Then MsgBox "Cannot print until required cells have been completed!" Cancel = True End If End Sub
虽然你可以使用正则expression式的第2部分,普通的数据validation应该工作正常,即
a)您可以在数据validation中使用“允许”date
b)您可以使用一个介于100,000,000和999,999,999之间的9位数的整数
回答第2部分(正则expression式的东西)
您可以在VBA中编写用户定义的函数并在Excel中使用它。 下面是一个使用RegEx提取string部分的例子 ,但是稍微调整一下就可以使用它来进行validation。