怎样实现点击excel的a列出现日历控件用来输入日期?
需要用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即弹出”日历控件“,根据需要在”控件“上点击要输入的日期即可:
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列做为第一列,鼠标单击第一列 控件就会出现