在Excel中维护日期格式

时间:2015-12-10 07:14:48

标签: excel excel-vba vba

我有一个带有三个组合框的表格,一个用于(可能的)31个月,第二个用于表示月份的12个数字,第三个用于表示未来五年的年份值。

我将这些连接起来形成一个日期

TheDay = CBDay.Value
TheMonth = CBMonth.Value
TheYear = CBYear.Value

thedate = TheDay + "/" + TheMonth + "/" + TheYear

所以,今天在澳大利亚,这个日期将显示为10/12/2015,这很好。但是,当我将数据写入工作表时,即使写入数据的列格式化为' date'在< dd / mm / yy'式

变量声明为整数

有没有办法确保日期的价值不会发生变化?

1 个答案:

答案 0 :(得分:4)

Excel认为它的格式化字符串看起来像日期一样聪明。

尽可能使用日期序列号并强制使用您自己的格式

例如

Dim theDate As Date
theDate = DateSerial(TheYear, TheMonth, TheDay)

ActiveCell = theDate
ActiveCell.NumberFormat = "dd/mm/yyyy"
' or better yet, use an unambiguous date format
ActiveCell.NumberFormat = "dd mmm, yyyy"