如果果是在工作表中引用,步骤如下:
先把设计模式打开
然后:控件工具箱 ---- 其他控件 ---- 选择Calendar Control---确定。
再把代码复制到你对应的表格中去
Private Sub Calendar1_Click()
With Calendar1
ActiveCell = .Value
.Visible = False
End With
End Sub
'
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
With Calendar1
If Target.Column = 3 Then
.Top = Target.Offset(0, 1).Top
.Left = Target.Offset(0, 1).Left
.Visible = True
Else
.Visible = False
End If
End With
End Sub
具体看附件吧
找不到Calendar Control这个控件
找不到的话,需要自己安装的,下载一个就好了,百度搜一下这个控件。
2014-10-30 · 知道合伙人旅游行家
打开一个EXCEL工作簿,进入一个工作表中,按“视图-工具栏-控件工具箱”,会调出控件工具箱。
用鼠标点击工具箱中的“其他控件”按钮,会出现下面窗口,用滚动条向下拉动它,从中找到“日历控件11.0”,用鼠标选择它。(控件后面的版本号可能不同)
用鼠标选中它后,鼠标指针会变成一个十字形光标,然后在EXCEL窗口中按住鼠标左键拖出一个大小适中的“日历控件”。
如果你的电脑中找不到此控件,可从其他电脑上的 c:\windwos\system32\mscal.ocx 位置拷贝mscal.ocx到你电脑上的相同位置粘贴。也可以从网上下载这个mscal.ocx文件。
如果电脑中存在mscal.ocx文件,而不能正常使用日历控件,就需要在系统的【开始】-【运行】中输入 regsvr32 mscal.OCX 进行注册。
点击任意一点出现日历控件的代码是:
Private Sub Calendar1_Click()
ActiveCell = Calendar1'给当前活动的单元格赋以日历日期,相当于初始化 Calendar1.Visible = False'单击日历控件时候,隐藏日历控件
[a2].Select'A2单元格被激活,目的是转移$A$1到其他单元格让触发更灵敏 End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Address = "$A$1" Then Calendar1.Visible = True'把单元格地址作为事件发生的参数,引用单元格的Address属性。
End Sub
我用的是office07版本的,控件是不是不一样?
您好,日历控件,在office2007中通用。