返回目录:excel表格制作
用VBA做一个代码,可以在选中E2单元格时弹出一个日历控百件,选择日期后日历控件就自动度隐藏,同时E2单元格显示刚才选中的日期值。
先在工作表中添加一个日历控件,然后点下面工作表标签名字,按鼠标右键,从弹出的快捷菜单中选“查回看代码”,然后把下面代码粘贴进去答,回到excel窗口就能使用了。
Private Sub Calendar1_Click()
Range("e2") = Calendar1.Value '让E2单元格显示日历控件的值
Calendar1.Visible = False
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Address = "$E$2" Then
Calendar1.Visible = True
Else
Calendar1.Visible = False
End If
End Sub
知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 = "$A$1" Then Calendar1.Visible = True
End Sub
方法/步骤
单击“开发工具”选项卡下的“知控件”工作组中的“插入”命令,在弹出的的对话框中单击最右下角的“更多控件”道选项,
在弹出的“其他控件”对话框中拖动右边的滚动条直至找到“Microsoft Date And Time Picker Control”,然后单击确定,
然后单击鼠标左键不专放往左右拖开即可插入一个日历控件,此时“控件”工作组处于“设计模式属”,这时候的日历控件还处于设计模式,还不能使用,
4
单击“设计模式”按钮,取消它的选中状态,此时日历控件可以使用了。
需要用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列除第一行外弹出日e799bee5baa6e997aee7ad94e58685e5aeb9362历控件,可根据需要进行更改,然后关闭VBA代码编辑器回到工作表
5、鼠标左键点击A2即弹出”日历控件“,根据需要在”控件“上点击要输入的日期即可