深圳office培训 深圳excel培训
深圳excel培训 深圳office培训
咨询服务
深圳office培训
深圳office培训
office培训
excel培训
ppt培训
vba培训
access培训
word培训
visio培训
project培训
outlook培训
数据库培训
深圳access培训
深圳sql培训
深圳office培训
 

使用DTP控件输入日期


2016年8月11日 作者: 来源:

在工作表中输入日期可以使用日期时间控件(Microsoft Date and Time Picker Control 6.0,简称DTP控件)。
在工作表中单击菜单“视图”→“工具栏”→“控件工具箱”,选择“其他控件”中的DTP控件,在工作表中添加一个DTP控件。
在设计模式下双击DTP控件写入下面的代码:
#001  Private Sub Worksheet_SelectionChange(ByVal Target As Range)
#002      With Me.DTPicker1
#003          If Target.Count = 1 And Target.Column = 2 And (Not Target.Row = 1) Or Target.MergeCells Then
#004              .Visible = True
#005              .Top = Selection.Top
#006              .Left = Selection.Left
#007              .Height = Selection.Height
#008              .Width = Selection.Width
#009              If Target.Cells(1, 1) <> "" Then
#010                  .Value = Target.Cells(1, 1).Value
#011              Else
#012                  .Value = Date
#013              End If
#014          Else
#015              .Visible = False
#016          End If
#017      End With
#018  End Sub
#019  Private Sub DTPicker1_CloseUp()
#020      ActiveCell.Value = Me.DTPicker1.Value
#021      Me.DTPicker1.Visible = False
#022  End Sub
#023  Private Sub Worksheet_Change(ByVal Target As Range)
#024      If Target.Count = 1 And Target.Column = 2 Or Target.MergeCells Then
#025          If Target.Cells(1, 1).Value = "" Then
#026              DTPicker1.Visible = False
#027          End If
#028      End If
#029  End Sub
代码解析:
第1行到第18行代码工作表的SelectionChange事件,当选择工作表的B列第2行以下的单个单元格时显示日期控件供用户选择日期。
其中第3行代码设置显示日期控件的触发条件。只有当用户选择B列第2行以下单元格且只能选择单个单元格时才显示日期控件,因为本例B列中存在合并单元格,所以需要加上Or Target.MergeCells这个条件,否则单击合并单元格不显示日期控件。
第4行到第8行代码显示日期控件并设置日期控件的大小等于所选单元格的大小。
第9行到第13行代码,如果单元格已经输入了日期,将单元格中的日期赋给日期控件,否则将当前日期赋给日期控件。因为本例B列中存在合并单元格,而合并区域的值在该区域左上角的单元格中指定,所以用Target.Cells(1, 1) 指定合并单元格的值,否则代码会出错。
第15行代码如果选择的是其他列则隐藏日期控件。
第19行到第22行代码日期控件的CloseUp事件,将日期控件的值赋给活动单元格后隐藏日期控件。
第23行到第29行代码工作表的Change事件,如果删除了B列单元格的日期则隐藏日期控件。


阅读:2188 上一则:vba如何根据选择添加组合框内容 下一则:vba如何使用RefEdit控件选择区域

返回前页 返回顶部
温馨提示:本中心是深圳较为专业office培训机构、咨询及报名请先预约,电话:0755-82124110。
深圳地址:深圳红荔路四川大厦1109B-1110(3号龙岗线通新岭地铁站A出口10米)
热线:0755-82124110(福田、南山、宝安) 0755-22205758(罗湖、龙岗、龙华) 13510024571(东莞、惠州、珠海、广州)
北京地址:北京清华大学华业大厦三区三楼 版权所有:深圳万博计算机教育 粤ICP备11006947号-1
 
深圳信息系统项目管理师培训
深圳信息系统项目管理师培训 欢迎咨询!
您好!请点击这里咨询万博教育
深圳万博吴老师
您好!请点击这里咨询万博教育
深圳万博史老师
 
深圳信息系统项目管理师培训
深圳信息系统项目管理师培训