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

更新时间:2023-11-25 20:18:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

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

第一种方法:

首先这个控件需要一个名为MSCOMCT2.OCX的控件文件,这个文件大家先在电脑里搜索一下,如果没有的话就求助baidu喽.

下载下来后把它复制到c:\\windows\\system32里. 最后就在开始->运行里注册MSCOMCT2.OCX控件.

那么如何注册呢,方法很简单输入regsvr32 MSCOMCT2.OCX就ok拉

这时打开excel控件工具箱点击其它控件找到Microsoft Date and Time Picker Control 6.0,这个东东就是我们要的日期控件拉

第二种方法:MSCAL.OCX

Private Sub Calendar1_Click() ActiveCell = Calendar1.Value Me.Calendar1.Visible = False End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range) '此处的6和7为你要显示日历的列序号

If Target.Column = 6 Or Target.Column = 7 Then

Me.Calendar1.Left = Target.Left Me.Calendar1.Top = Target.Top

If Target.Value <> \

Me.Calendar1.Value = Target.Value Else

Me.Calendar1.Value = Now() End If

Me.Calendar1.Visible = True Else

Me.Calendar1.Visible = False End If End Sub

Private Sub Calendar1_Click() ActiveCell = Calendar1.Value Me.Calendar1.Visible = False End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range) '此处的1为你要显示日历的列序号

If Selection.Rows.Count = 1 And Selection.Columns.Count = 1 And Target.Column = 1 Then

Me.Calendar1.Left = Target.Left Me.Calendar1.Top = Target.Top If Target.Value <> \

Me.Calendar1.Value = Target.Value Else

Me.Calendar1.Value = Now() End If

Me.Calendar1.Visible = True Else

Me.Calendar1.Visible = False End If End Sub Mscomct2.zip MSCAL.rar

在EXCEL中实现点击日历输入日期

技巧 2010-07-07 10:37:58 阅读435 评论0 字号:大中小 订阅

1、在某一单元格中插入日历控件

(1)选中要插入日历控件的单元格,设置单元格格式为日期型;

(2)点击工具栏,“插入—对象—日历控件”,

(3)用快捷方式Alt+F11,双击插入控件的工作表名称,粘贴下面的代码,用来实现单击A1时弹出日历控件,单击

日历控件后,将选中的日期值填入A1并隐藏控件。

Private Sub Calendar1_Click()

ActiveCell = Calendar1 Calendar1.Visible = False

[a2].Select End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

If Target.Address = \

End Sub

2、某一列全部设置为插入日历控件。

例如;在C列中,无论点击哪个单元格,就弹出日历控件,选择一个日期后,日期自动插入到单元格;除C列之外,

点击其他单元格,不会弹出日历选择控件;

同上面(1)(2)步后,选择日历控件,双击鼠标,进入代码编辑模式,选择Worksheet和SelectionChange,输入

代码:

Private Sub Calendar1_Click() ActiveCell = Calendar1.Value Me.Calendar1.Visible = False

End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

If Target.Column = 1 Then Me.Calendar1.Visible = True

Else

Me.Calendar1.Visible = False

End If End Sub

完成后,运行VBA代码,返回Excel操作窗口,即可实现。

另1:

日历控件的使用方法

1、打开excel文件,以对sheet1的操作为例:点中要插入日期的单元格,

工具栏→插入→对象→选 日期空间11.0 →确定。

2、工具栏→工具→宏→Visual Basic 编辑器

在 ?通用?加入如下代码: Private Sub Calendar1_Click()

ActiveCell = Format(Calendar1.Value, \设置日期格式,此工作可以直接通过设置某列单元格格式一

次性完成

Calendar1.Visible = False '单击日历控件后隐藏之

End Sub

Private 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.Width Calendar1.Top = Target.Top + Target.Height

Calendar1.Value = Date Calendar1.Visible = True

ElseIf Target.Column = 6 Then 'F列为日期输入列 Calendar1.Left = Target.Left + Target.Width Calendar1.Top = Target.Top + Target.Height

Calendar1.Value = Date Calendar1.Visible = True

Else

Calendar1.Visible = False '单击其他列时隐藏日历控件

End If End 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.Value Me.Calendar1.Visible = False

End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

If Target.Column = 1 Then Me.Calendar1.Visible = True

Else

Me.Calendar1.Visible = False

End If End 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.OCX

2. 拷贝该控件到没有安装的电脑 C:\\WINDOWS\\system32目录下

3.在开始菜单“运行”中输入 regsvr32 mscal.ocx 回车即可注册成功 这在命令行界面下输入同样的语句效果是一样的。

下载地址:http://www.yaige.cn/thread-4310-1-1.html

本文来源:https://www.bwwdw.com/article/7jkt.html

Top