2

我需要在 Excel 中以自定义 vba 表单添加日期选择器。

我知道我可以使用 MSCOMCT2.ocx,但它似乎在 Excel 2010 中已过时:用户必须安装自定义包。

我需要该代码无需安装即可从 Excel 2003 运行到 2010 年(或者如果组件不可用,至少不会抛出错误消息)。我无法控制运行环境。

有什么解决办法吗?像完整 vba 中的自定义日期选择器?

4

2 回答 2

3

我已经成功地使用了以下内容来混合使用 Excel 2003 和 2007。作者确实说它应该与所有版本兼容。

https://sites.google.com/site/e90e50/calendar-control-class

于 2012-09-06T15:40:09.717 回答
0

我没有使用日期选择器,而是在我的 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
于 2018-04-11T23:04:18.607 回答