如何将弹出日历表单合并到现有的用户表单中

问题描述 投票:0回答:2

Trevor Eyre 版本的弹出日历(答案#11)给我留下了深刻的印象,并且很高兴能够将其合并到我正在开发的用户表单中,这具有挑战性,因为我对 VBA 有非常基本的经验。

在VBA中格式化文本框中的MM/DD/YYYY日期(答案#11) 链接到 Trevors 的示例电子表格 https://www.dropbox.com/sh/0n9gyc32rlr31n2/AAAW7ADAWiLEZRHftERro9Tva?dl=0

例如,我有一个名为 SECINC 的用户表单,并有一个文本框 (IncidentDate),用户必须在其中输入事件的日期,直到我遇到 Trevor 版本的弹出日历。我使用的是 Excel 2013(64 位),MS 日期选择器不可用。

我已将 module1 中的所有代码复制到我的项目书的 module1 中,并保存并导入了 CalendarForm,然后我就有了自己的用户表单,请参阅链接:
Example of SECINC userform

我很高兴按原样使用基本的 CalendarForm,但我缺少的一件事是当用户单击 IncidentDate 文本框并且所选日期填充 IncidentDate 框时如何调用日历表单。

我添加了日历的“图像”,并想知道如何将其链接到 CalendarForm,以便在单击它时打开日历并将日期放入 IncidentDate 文本框中。

我需要 IncidentDate 文本框中的日期格式以 DD/MM/YY 格式显示。

我在想,也许对于我们这些基于视觉的人来说,以视频教程的形式看到它以及对于那些刚接触 VBA 的人来说会更有优势。

如果我让您感到困惑,或者您需要更多信息,请告知。

提前感谢您,

害羞的蝴蝶

excel vba date calendar userform
2个回答
0
投票

您的图像上需要一个 click 事件,它将调用日历并填写日期字段

右键单击日历图像并选择“查看代码”以创建点击事件子项。 然后按照 Trevor 的答案中指定的方式添加以下命令:

Private Sub Image1_Click()
    your_date_field_name.Value = CalendarForm.GetDate
End Sub

下次提问时尽量少一点“字面意思”,对于这么简单的问题我们不需要那么多细节,这会让人困惑。我建议你读一下这个


0
投票

2023 年仍然发现这非常有用。 我其实很喜欢字面意思,因为我也是一个非常字面的人。

更新了 Trever Eyres Excel 日期选择器的链接:https://trevoreyre.com/portfolio/excel-datepicker/

我会投票,但我的代表还不够高。

© www.soinside.com 2019 - 2024. All rights reserved.