我真的很挣这个,我已经通过谷歌浏览但没找到适合我的解决方案。情况就是这样(使用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的代码设置为空白,我在哪里放置此代码?
希望有人可以帮助我...
答案 0 :(得分:0)
当我理解你的时候,你只需要"yyyy-MM-dd"
形式的日期。
然后,您也可以阅读DateFrom.Value
并将其转换为Format$
,如下所示:
Dim s as string
s = Format$(DateFrom.Value, "yyyy-MM-dd")
MsgBox s