怎样实现点击excel的a列出现日历控件用来输入日期?

如题所述

1、首先打开Excel建立一个日期列表,设置好表格,在B5单元格中录入日期。

2、然后选择开发工具,点击“设计模式”。

3、点击插入ActiveX控件,出现的列表框中选择“其他控件”。

4、其他控件列表框中拉到最下面,选择“日历控件”。

5、在表格中把日历控件画出来,调整好喜欢的大小与格式,默认日历控件名称为:Calendar1。

6、双击日历控件,进入VBE代码区,输入下面的代码。

7、再回到Excel的页面可以看到日期的控件,设置就完成了。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-01-11

需要用VBA,以Excel2007为例,方法如下;

1、打开Excel,点击“开发工具”选项卡,在“控件”组别,找到并点击“插入”,在下拉列表中,点选右下角的“其它控件”,如下图:

2、在弹出的“其他控件”对话框,拖动滚动条到下方,鼠标左键选择“日历控件12.0”,点击“确定”

3、回到工作表,用鼠标左键拖动出来一个日历控件,调整大小和位置,如下图:

4、鼠标左键在“日历控件”上双击,调出VBA编辑器,把下面这段代码复制粘贴到里面:

Private Sub Calendar1_Click()

ActiveCell = Format(Calendar1.Value, "yyyy-mm-dd")

Me.Calendar1.Visible = False

End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

    If Target.Column = 1 Then

        If Target.Row > 1 Then

           With Me.Calendar1

             .Visible = True

             .Top = Target.Top + Target.Height

             .Left = Target.Left + Target.Width

             .Value = Date

            End With

        Else

            Me.Calendar1.Visible = False

        End If

    Else

        Me.Calendar1.Visible = False

    End If

End Sub

其中“ If Target.Column = 1 Then

        If Target.Row > 1 Then“为点击第一列即A列除第一行外弹出日历控件,可根据需要进行更改,然后关闭VBA代码编辑器回到工作表

5、鼠标左键点击A2即弹出”日历控件“,根据需要在”控件“上点击要输入的日期即可:

第2个回答  2015-11-26
EXCEL有日历控件,首先插入一个日历控件,

ALT F11
将下面代码复制进去,
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

这个我把你说的a列做为第一列,鼠标单击第一列 控件就会出现本回答被提问者和网友采纳
第3个回答  2015-11-25
插入 日期 就可以了