vba数组⽇期⼤⼩⽐较_使⽤VBA代码完成限制重复值的录⼊,及求当⽉最后⼀天⽇期的⽅法...
分享成果,随喜真能量。⼤家好,今⽇内容仍是和⼤家分享VBA编程中常⽤的简单“积⽊”过程代码,这些内容⼤多是取⾄我编写
的“VBA代码解决⽅案”教程中内容。NO.168-NO.169内容是:
NO. 170:如何利⽤VBA代码,限制重复值的录⼊
NO. 171:如何利⽤VBA代码,使⽤消息框显⽰当⽉最后⼀天的⽇期
VBA过程代码170:如何利⽤VBA代码,限制重复值的录⼊
Private Sub Worksheet_Change(ByVal Target As Range)
With Target
If .Column <> 1 Or .Count > 1 Then Exit Sub
If WorksheetFunction.CountIf(Range("A:A"), .Value) > 1 Thenvba编程技巧
.Select
MsgBox "不能输⼊重复的⼈员编号!", 64
Application.EnableEvents = False
.Value = ""
Application.EnableEvents = True
End If
End With
End Sub
代码的解析说明:⼯作表的Change事件过程,使A列单元格只能录⼊唯⼀的⼈员编号。
代码中使⽤⼯作表的CountIf 函数来判断在A列单元格输⼊的⼈员编号是否重复。在⽰例中以所录⼊的⼈员编号与A列单元格区域进⾏⽐
如果CountIf 函数的返回值⼤于1,说明录⼊的是重复编号。在清除前将Application对象的EnableEvents属性设置为False,禁⽌较,如果CountIf 函数的返回值⼤于1,说明录⼊的是重复编号
触发事件。因为如果不禁⽤事件,那么在清除重复值的过程中会不断地触发⼯作表的Change事件,从⽽造成代码运⾏的死循环。经过以上
的设置,在⼯作表的A列中只能录⼊唯⼀的⼈员编号,如果录⼊重复值会进⾏提⽰不能输⼊重复的⼈员编号!———————————————————————————————————————————————————————————————
VBA过程代码171:如何利⽤VBA代码,使⽤消息框显⽰当⽉最后⼀天的⽇期
Sub mynz()
Dim MyDateStr As Byte
MyDateStr = Day(DateSerial(Year(Date), Month(Date) + 1, 0))
MsgBox "本⽉的最后⼀天是" & Month(Date) & "⽉" & MyDateStr & "号"
End Sub
代码的解析说明:上述的Mynz过程配合使⽤了4个VBA内置函数Year、Month、Day和DateSerial完成计算并使⽤消息框显⽰当⽉最后⼀
天的⽇期。Date为当前的具体⽇期。 Month(Date) + 1 表⽰当前⽉的下个⽉。 Day(DateSerial(Year(Date), Month(Date) + 1, 0)) 表
⽰当前⽉的下个⽉的前⼀天。
VBA是实现⾃⼰⼩型办公⾃动化的有效⼿段,我根据⾃⼰20多年的VBA实际利⽤经验,现推出了四部VBA教程,这些是我多年编程经验的记录,也是我“积⽊编程”思想的体现。每⼀讲都是较⼤块的“积⽊”,可以独⽴的完成某些或者某类的过程,有需要的朋友可以联络(WeChat:NZ9668)分享。利⽤这些可以提⾼⾃⼰的编程效率。其⼀:“VBA代码解决⽅案”PDF教程,是VBA中各个知识点的讲解,覆盖了绝⼤多数的知识点,是初学及中级以下⼈员必备;其⼆“VBA数据库解决⽅案”PDF教程,数据库是数据处理的利器,对于中级⼈员应该掌握这个内容了。其三“VBA数组与字典解决⽅案”PDF教程,讲解VBA的精华----字典,是我们打开思路,提⾼代码⽔平的必备。其四“VBA代码解决⽅案”视频教程。⽬前正在录制,“每天20分钟,半年精进VBA”,越早参与,回馈越多。现在录制到第⼆册的95讲。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。