从空dtPicker值开始,然后在按下sumbitbutton后更改格式

我真的很苦恼这个,我已经浏览谷歌,但没有find一个工作的解决scheme。 这是这种情况(使用美国Office 2016并添加了mscomct2.ocx);

加载Excel也加载UserForm1。 在这里,我有一个使用DateTimePicker的“DateFrom”和“DateTo”。

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

当按下提交button时,我需要DateTimePicker格式从.dtpLongDate更改为自定义格式“yyyy-MM-dd”,所以我可以把DateFrom.Value放到需要这种特定格式的string中。

我已经尝试了我find的所有东西,但是因为我是VB新手,所以我没有尝试过任何东西。

这是我在命令button开始的代码:

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仍然显示date为dd.mm.yyyy。

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

希望有人能帮助我…

当我理解你的时候,你只需要以"yyyy-MM-dd"的forms表示date。 然后,你也可以读取DateFrom.Value并使用Format$转换,如下所示:

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