当前位置:文档之家› excel中实现日期选择输入(日历控件)

excel中实现日期选择输入(日历控件)

excel中实现日期选择输入(日历控件)推荐第一种方法:首先这个控件需要一个名为MSCOMCT2.OCX的控件文件,这个文件大家先在电脑里搜索一下,如果没有的话就求助baidu 喽.下载下来后把它复制到c:\windows\system32里.最后就在开始->运行里注册MSCOMCT2.OCX控件.那么如何注册呢,方法很简单输入regsvr32 MSCOMCT2.OCX就ok拉这时打开excel控件工具箱点击其它控件找到Microsoft Date and Time Picker Control 6.0,这个东东就是我们要的日期控件拉第二种方法:MSCAL.OCXPrivate Sub Calendar1_Click()ActiveCell = Calendar1.ValueMe.Calendar1.Visible = FalseEnd SubPrivate Sub Worksheet_SelectionChange(ByVal Target As Range)'此处的6和7为你要显示日历的列序号If Target.Column = 6 Or Target.Column = 7 ThenMe.Calendar1.Left = Target.LeftMe.Calendar1.Top = Target.TopIf Target.Value <> "" ThenMe.Calendar1.Value = Target.ValueElseMe.Calendar1.Value = Now()End IfMe.Calendar1.Visible = TrueElseMe.Calendar1.Visible = FalseEnd IfEnd SubPrivate Sub Calendar1_Click()ActiveCell = Calendar1.ValueMe.Calendar1.Visible = FalseEnd SubPrivate Sub Worksheet_SelectionChange(ByVal Target As Range)'此处的1为你要显示日历的列序号If Selection.Rows.Count = 1 And Selection.Columns.Count = 1 AndTarget.Column = 1 ThenMe.Calendar1.Left = Target.LeftMe.Calendar1.Top = Target.TopIf Target.Value <> "" ThenMe.Calendar1.Value = Target.ValueElseMe.Calendar1.Value = Now()End IfMe.Calendar1.Visible = TrueElseMe.Calendar1.Visible = FalseEnd IfEnd SubMscomct2.zipMSCAL.rar在EXCEL中实现点击日历输入日期技巧2010-07-07 10:37:58 阅读435 评论0 字号:大中小订阅1、在某一单元格中插入日历控件(1)选中要插入日历控件的单元格,设置单元格格式为日期型;(2)点击工具栏,“插入—对象—日历控件”,(3)用快捷方式Alt+F11,双击插入控件的工作表名称,粘贴下面的代码,用来实现单击A1时弹出日历控件,单击日历控件后,将选中的日期值填入A1并隐藏控件。

Private Sub Calendar1_Click()ActiveCell = Calendar1Calendar1.Visible = False[a2].SelectEnd SubPrivate Sub Worksheet_SelectionChange(ByVal Target As Range)If Target.Address = "$A$1" Then Calendar1.Visible = TrueEnd Sub2、某一列全部设置为插入日历控件。

例如;在C列中,无论点击哪个单元格,就弹出日历控件,选择一个日期后,日期自动插入到单元格;除C列之外,点击其他单元格,不会弹出日历选择控件;同上面(1)(2)步后,选择日历控件,双击鼠标,进入代码编辑模式,选择Worksheet和SelectionChange,输入代码:Private Sub Calendar1_Click()ActiveCell = Calendar1.ValueMe.Calendar1.Visible = FalseEnd SubPrivate Sub Worksheet_SelectionChange(ByVal Target As Range)If Target.Column = 1 ThenMe.Calendar1.Visible = TrueElseMe.Calendar1.Visible = FalseEnd IfEnd Sub完成后,运行VBA代码,返回Excel操作窗口,即可实现。

另1:日历控件的使用方法1、打开excel文件,以对sheet1的操作为例:点中要插入日期的单元格,工具栏→插入→对象→选日期空间11.0 →确定。

2、工具栏→工具→宏→Visual Basic 编辑器在‘通用’加入如下代码:Private Sub Calendar1_Click()ActiveCell = Format(Calendar1.Value, "yyyy-mm-dd") '设置日期格式,此工作可以直接通过设置某列单元格格式一次性完成Calendar1.Visible = False '单击日历控件后隐藏之End SubPrivate Sub Worksheet_SelectionChange(ByVal Target As Range)If Target.Column = 4 Then 'D列为日期输入列Calendar1.Left = Target.Left + Target.Width '设置日历控件弹出后的位置Calendar1.Top = Target.Top + Target.Height '同上Calendar1.Value = Date '设置默认日期为系统日期Calendar1.Visible = True '使日历控件可见ElseIf Target.Column = 5 Then 'E列为日期输入列Calendar1.Left = Target.Left + Target.WidthCalendar1.Top = Target.Top + Target.HeightCalendar1.Value = DateCalendar1.Visible = TrueElseIf Target.Column = 6 Then 'F列为日期输入列Calendar1.Left = Target.Left + Target.WidthCalendar1.Top = Target.Top + Target.HeightCalendar1.Value = DateCalendar1.Visible = TrueElseCalendar1.Visible = False '单击其他列时隐藏日历控件End IfEnd Sub保存。

3、设计好后,还可以对日期列进行“设置单元格格式”4、不足之处a、要实用该宏,首先要在EXCEL→工具→宏→安全性→选中(在打开文件的时候允许宏)或低,才可以使用该日期控件;b、在使用宏控件的时候,excel中鼠标右键的粘贴功能将失效,需要借助EXCEL→编辑→office剪贴板的功能才能完成单元格复制粘贴的功能;c、也可以在打开文件的时候禁用宏,这样就可以正常使用粘贴功能了。

另2:在EXCEL窗口中执行“视图”→“工具栏”→“控件工具箱”;弹出如下图对话框;按上图的操作,找到“日历控件11.0”,之后在EXCEL窗口中使用鼠标左键一拖,拖出如下图的控件;上图,我们要实现的结果是:在C列中,无论点击哪个单元格,就弹出日历控件,选择一个日期之后,日期自动插入到单元格;除C列之外,点击其他列的单元格,不会弹出日历选择控件;要想实现这样的效果,得使用VBA来实现;选择日历控件,鼠标左键双击,进入代码编辑模式;如下图!上图中,第一个过程代码就是日历控件所需要的代码,另外,还得需要另外一个代码,在图中按红线圈住部分选择,找到对应的过程,输入如下的VBA代码即可!完成之后,直接运行VBA代码,返回EXCEL操作窗口,即可实现效果了!如上图,C3单元格已插入了日期,当你选择C列其他单元格时,就弹出日历控件,以供选择,选择完成,即可插入日期了!为方便操作,提供源代码:Private Sub Calendar1_Click()ActiveCell = Calendar1.ValueMe.Calendar1.Visible = FalseEnd SubPrivate Sub Worksheet_SelectionChange(ByVal Target As Range)If Target.Column = 1 ThenMe.Calendar1.Visible = TrueElseMe.Calendar1.Visible = FalseEnd IfEnd Sub知识扩展:①执行上述代码时,可能会遇到创建宏的提示,随便输入宏名,再运行即可!②可以将上述的代码及EXCEL文件一起保持,以备不时之需,以后你再需要到这种功能,直接打开EXCEL文件即可!打开EXCEL文件,运行原来的宏,有可能出现“宏”被禁止运行的提示,解决的方法如下:在EXCEL操作中执行“工具”→“宏”→“安全性”;弹出如下的对话框;上图中,选择“安全级”选项卡,将安全设置为“中”即可!之后关闭EXCEL,再打开,就能运行了!这个很简单啊,因为你这台电脑没有安装日历控件。

下一个或者拷贝一个注册就行了1. 下载或者拷贝日历控件12.0,或者日历控件11.0等等下载地址:MSCAL.rar (50.41 KB)从别的电脑拷贝:路径如下C:\Program Files\Microsoft Office\OFFICE11\MSCAL.OCX或者C:\Program Files\Microsoft Office\OFFICE12\MSCAL.OCX2. 拷贝该控件到没有安装的电脑C:\WINDOWS\system32目录下3.在开始菜单“运行”中输入regsvr32 mscal.ocx 回车即可注册成功这在命令行界面下输入同样的语句效果是一样的。

相关主题