Excel 2010 VBA 入门 124 日期选择控件

您所在的位置:网站首页 excel表格日历控件怎么用 Excel 2010 VBA 入门 124 日期选择控件

Excel 2010 VBA 入门 124 日期选择控件

2023-09-08 03:30| 来源: 网络整理| 查看: 265

   

目录

DTPicker控件

DTPicker控件的时间和日期的切换

DTPicker控件的日期输入方式

DTPicker控件的Value属性与Change事件

使用DTPicker控件实现日期选择并赋值给单元格

注册DTPicker控件

在Excel中,经常需要输入日期。为保证输入正确,可以通过一个日历控件进行输入。

    在工作表中添加DTPicker控件,并隐藏。在工作表中添加工作表SelectionChange事件,在事件中判断Target参数所指的单元格,当为特定单元格时显示DTPicker控件,并调整位置至当前单元格处,否则隐藏控件。然后添加DTPicker控件的Change事件,将DTPicker的值赋值给活动单元格。

码   Option Explicit '工作表激活时隐藏日历控件 Private Sub Worksheet_Activate() Me.DTPicker21.Visible = False End Sub '日历控件的 change事件 Private Sub DTPicker21_Change() ActiveCell.Value = Me.DTPicker21.Value End Sub '工作表的SelectionChange事件 Private Sub Worksheet_SelectionChange(ByVal Target As Range) Me.DTPicker21.Visible = False '选中一个单元格则继续 If Target.Count = 1 Then '选中A列及第2行以下的单元格继续 If Target.Column = 1 And Target.Row > 1 Then Me.DTPicker21.Visible = True Me.DTPicker21.Top = ActiveCell.Top Me.DTPicker21.Left = ActiveCell.Left + ActiveCell.Width End If End If End Sub DTPicker控件

    DTPicker控件是VBA中常用的日期控件,该控件由日期输入框和日期选择窗口两部分组成,如图。使用该控件,用户可以方便地选择日期和时间。

DTPicker控件的时间和日期的切换

    DTPicker控件可以用来输入日期和时间,可以通过Format属性来改变其输入模式及日期格式。该属性可以为表中的任意常量。

     DTPieker的Format属性

    常  量

    值

    说  明

dtpLangDate

 0

日期输入,格式为控制面板“长日期”所示的格式

dtpShortDate

 1

日期输入。格式为控制而板“短日期”所示的格式

dtpTime

 2

时间输入、格式为"hh:mm:ss”

dtpCustom

 3

自定义格式。当设置为该值时,可以使用customFormat属性设置自定义格式

DTPicker控件的日期输入方式

    利用DTPicker控件可以直接在日期输入框中输入,也可以通过单击日期选择窗口中的某个日期进行输入。该控件的属性UpDown可以控制这两种方式的输入。当该属性为True时,则只能通过日期输入框进行输入,在其右侧提供的“上下”按钮可以用于调整日期年、月、日的值。当该属性为False时,则其右侧的按钮成为下拉按钮。当单击该按钮时,则会出现日期选择窗口。

DTPicker控件的Value属性与Change事件

    无论通过日期输入框还是通过日期选择窗口进行日期的输入,都将改变DTPicker控件的Value属性,同时会触发Change事件程序的执行。一般地,当使用该控件对单元格赋值时,总是在Change事件中添加代码,将控件的Value属性的值赋值给单元格的Value属性。

使用DTPicker控件实现日期选择并赋值给单元格

    对于控件相关的代码开发,大多数使用事件来“自动实现”。因而对于某项功能的开发,首先应尽量描述其运行的步骤或可能出现的各种情形,然后根据不同的步骤或情形选择不同的事件并编写代码。如本例,需要通过DTPicker控件选择日期并实现输入。若设想整个操作的流程,可以包含以下步骤: (1)激活工作表时,DTPicker控件不显示(隐藏)。 (2)单击或双击需要输入日期的单元格时,在单元格的右侧显示DTPicker控件。 (3)当更改日期后,自动赋值给活动的单元格。 (4)当选择其他单元格时,控件隐藏。 针对以上步骤可以为其分别选择事件如下:     步骤1  需要实现激活工作表时隐藏DTPicker控件,此时可以选择工作表的Activate事件,在其中编写代码将控件的Visible属性设置为False。还可以添加对DTPicker控件的初始化,如格式属性等。     步骤2  当单击或双击特定的单元格时,显示控件,此时可以选择工作表的SelectionChange事件或者BeforeDoubleClick事件,在其中编写代码将控件的Visible属性设置为True,并设置Top和Left属性使其出现在当前Target单元格的右侧。     步骤3更改日期后自动赋值给单元格,则可以选择DTPicker控件的Change事件,在该事件程序中编写代码将控件的Value属性的值赋值给单元格的Value属性。     步骤4选择其他单元格时隐藏控件,此时可以使用SelectionChange事件隐藏控件,将控件的Visible属性设置为False。  (本步骤也可以使用DTPicker的LostFocus事件。)     以上步骤(2)和步骤(4)都使用了SelectionChange事件,因而这两个步骤可以合用一个事件程序。在该事件中可以使用分支结构的IF---Then语句或者Select Case语句判断Target参数是否为特定的单元格,在特定单元格的分支下编写与步骤(2)相关的代码,在其余分支 中写入与步骤(4)相关的代码。

注册DTPicker控件

    如果遇到DTPicker控件无法使用,是由于系统中缺少“mscomct2.  ocx”控件。开发者需要下载该文件,并将其复制到“C:\Windows\System32\”下(64位系统则需要复制到C: \Windows\SysWOW64\).     然后在“所有程序”中找到“附件”下的“命令提示符”,右键单击后选择“以管理员身份运行”,在出现的窗口中输入

regsvr32 mscomct2.ocx

后按回车键确定,即可完成该控件的注册。  

 



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3