我需要在 Excel 中以自定义 vba 表单添加日期选择器。
我知道我可以使用 MSCOMCT2.ocx,但它似乎在 Excel 2010 中已过时:用户必须安装自定义包。
我需要该代码无需安装即可从 Excel 2003 运行到 2010 年(或者如果组件不可用,至少不会抛出错误消息)。我无法控制运行环境。
有什么解决办法吗?像完整 vba 中的自定义日期选择器?
我已经成功地使用了以下内容来混合使用 Excel 2003 和 2007。作者确实说它应该与所有版本兼容。
我没有使用日期选择器,而是在我的 Excel 中的所有日期列中使用自动填充。请看下文。
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim xRg As Range, xCell As Range
On Error Resume Next
If (Target.Count = 1) Then
If (Not Application.Intersect(Target, Me.Range("H4,H7")) Is Nothing) Then _
Target.Offset(0, x1down) = Date
Application.EnableEvents = False
Set xRg = Application.Intersect(Target.Dependents, Me.Range("H4,H7"))
If (Not xRg Is Nothing) Then
For Each xCell In xRg
xCell.Offset(0, x1down) = Date
Next
End If
Application.EnableEvents = True
End If
End Sub