从空的dtPicker值开始,然后在按下sumbit按钮

时间:2015-10-25 20:43:27

标签: excel vba excel-vba datetimepicker

我真的很挣这个,我已经通过谷歌浏览但没找到适合我的解决方案。情况就是这样(使用US Office 2016并添加了mscomct2.ocx);

加载Excel也会加载UserForm1。 在此,我有一个' DateFrom'和' DateTo'使用DateTimePicker。

在启动时,我希望两者都显示为空(使用复选框不是一个选项)。选择适当的' DateFrom'和' DateTo' UserForm中显示的格式为.dtpLongDate(从dtPicker属性框设置)。

按下提交按钮时,我需要DateTimePicker格式从.dtpLongDate更改为自定义格式" yyyy-MM-dd"所以我可以将DateFrom.Value放入需要这种特定格式的字符串中。

我已经尝试过我发现的所有内容,但由于我在VB上相当新手,我尝试过的任何内容似乎都无法正常工作。

这是我在命令按钮开头的代码:

Private Sub CommandButton1_Click()

Dim i As Integer
Dim TerminalIDRange As Range
Dim ii As Long
Set FormlerSheet = Worksheets("Formler")
Set DataSheet = Worksheets("Data")
Set TerminalIDRange = DataSheet.Range("M2:M2000")

DateFrom.Format = DateTimePickerFormat.Custom
DateTo.Format = DateTimePickerFormat.Custom
DateFrom.CustomFormat = "yyyy-MM-dd"
DateTo.CustomFormat = "yyyy-MM-dd"

MsgBox DateFrom.Value

由于某种原因,DateFrom.Value仍然以dd.mm.yyyy显示日期。

也;在加载UserForm后将DateFrom和DateTo的代码设置为空白,我在哪里放置此代码?

希望有人可以帮助我...

1 个答案:

答案 0 :(得分:0)

当我理解你的时候,你只需要"yyyy-MM-dd"形式的日期。 然后,您也可以阅读DateFrom.Value并将其转换为Format$,如下所示:

Dim s as string
s = Format$(DateFrom.Value, "yyyy-MM-dd")
MsgBox s