VBA excel特定单元格input并添加警告消息
嗨,我是新的VBA编码,请裸露在我身边。
我有一个工作表,我正在尝试input新的产品详细信息。
一列需要5位数字。 我想要我的代码做的是一旦input这个数字,如果它不是一个完全的5位数字,发送一个警告消息框,要求检查工作号码。
如果条目是<> 5个数字并且包含字母,则应该应用警告消息。 然而,无论什么条目,我仍然希望细胞接受条目。
谢谢你的帮助!
在你的情况下,我会使用Excel Data Validation
简单地改变范围在9999到100000之间,所以它将是一个5位数字。 或者您可以使用标准的Excel公式来validation条目。
在数据validation对话框中,您还可以定义警报或错误含义。
有关更多信息,请参阅数据validation的Excel参考
这是为B列编码的。
将以下内容放在工作表代码区域中:
Private Sub Worksheet_Change(ByVal Target As Range) Dim rng As Range, r As Range, s As String, L As Long Dim addy As String Set rng = Intersect(Range("B:B"), Target) If rng Is Nothing Then Exit Sub For Each r In rng s = r.Text L = Len(s) addy = r.Address(0, 0) If L <> 5 Then MsgBox "Please check " & addy Else For i = 1 To 5 If Not IsNumeric(Mid(s, i, 1)) Then MsgBox "Please check " & addy End If Next i End If Next r End Sub
因为它是工作表代码,所以安装和自动使用非常简单:
- 右键单击Excel窗口底部附近的选项卡名称
- select查看代码 – 这会popup一个VBE窗口
- 粘贴东西,closuresVBE窗口
如果您有任何疑问,请先在试用工作表上尝试。
如果您保存该工作簿,该macros将与它一起保存。 如果您在2003年以后使用的是Excel版本,则必须将该文件另存为.xlsm而不是.xlsx
要删除macros:
- 调出上面的VBE窗口
- 清除代码
- 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必须启用这个工作!