我试图很简单地计算两个日期之间的天数,我认为固有的语言设置og excel/windows是与代码互动,所以如果任何人可以澄清的是事实上是这样,或者找到一个解决方案,我会非常感激。VBA语言(可能)用代码
我也应该能够找到天同年任何给定的两个日期之间的数,所以争论的缘故,我拿 - 2015年1月的第一个& - 2015年1月
的第七当我在Excel中写这些日期是它们编辑成
01/01-2015 & 07/01-2015 因为丹麦的日期与当天开始,然后是年份和月份
然后我从抓住他们有限公司mboBox到VBA代码
Set wb = ActiveWorkbook
With wb.Sheets("Start").Shapes("from_dropdown")
sd = DateValue(.ControlFormat.List(.ControlFormat.Value))
End With
With wb.Sheets("Start").Shapes("to_dropdown")
ed = DateValue(.ControlFormat.List(.ControlFormat.Value))
End With
但是,当我尝试计算他们之间的日子,我得到了150天。我认为这是语言干扰的原因是,当我显示“sd”和“ed”与MsgBox它显示为
01/01-2015和01/07-2015 IE不丹麦标准。
有没有人遇到过这个问题?并有一个修复?或者我只是在做其他完全错误的事情。
的完整代码:
Dim wb As Workbook
Dim sd As Date
Dim ed As Date
Dim numDays
Set wb = ActiveWorkbook
With wb.Sheets("Start").Shapes("from_dropdown")
sd = DateValue(.ControlFormat.List(.ControlFormat.Value))
End With
With wb.Sheets("Start").Shapes("to_dropdown")
ed = DateValue(.ControlFormat.List(.ControlFormat.Value))
End With
numDays = DateDiff("d", sd, ed)
MsgBox sd
MsgBox ed
MsgBox numDays
,并在Excel中的值与组合框的参考是
2015年1月1日
2015年2月1日
03/01/2015
04/01/2015
2015年5月1日
2015年6月1日
2015年7月1日
2015年8月1日
2015年9月1日
10/01/2015
非常感谢!那是做的!,我正在将我的头撞在墙上:P – 2015-04-03 13:08:30