'在使用下面宏之前,在Excel中插入一个日期控件,名称为Calendar1,在设计状态下将可见状态设为否,再
'拷贝此宏到该工作表中即可使用
'声明第4列为需要选择日期的列
Const a = 4
'将日期写入目前选择的单元格中,并将Calendar的可见状态设为否
Private Sub Calendar1_DblClick()
ActiveCell.Value = Calendar1.Value
Calendar1.Visible = False
End Sub
'单元格选择变化后,判断是否为第4列,如果是,则显示Calendar在该单元格的右下角,否则就不显示。
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If ActiveCell.Column = a Then
Calendar1.Visible = True
Calendar1.Top = ActiveCell.Top + ActiveCell.Height
Calendar1.Left = ActiveCell.Left + ActiveCell.Width
Else
Calendar1.Visible = False
End If
End Sub