从userform更改为USA格式的日期

时间:2014-11-03 12:30:16

标签: excel vba date excel-vba

我有一个需要日期输入的用户表单,直到今天还没有引起问题(过去2周使用)。

输入日期时,它会将信息发布到可打印页面上可见的临时表。

最初工作的格式是 -

ActiveCell.FormulaR1C1 = TextBox4.Value

但是现在日期是03/11/2014,它将这一轮转为11/03/2014。

然后,我尝试更改此代码,将其格式化为日期,例如

ActiveCell.FormulaR1C1 = Format(TextBox4.Value, "DD/MM/YYYY")

但是日期显示为11/03/2014。

有没有人有这种日期格式错误的解决方案?

由于 人

2 个答案:

答案 0 :(得分:0)

我要做的是避免日期格式化的任何问题:

With ActiveCell
    .Value = TextBox4.Text
    .NumberFormat = "DD/MM/YYYY"
End With

像这样,您可以将显示的值显示在单元格中,与用户插入的方式无关,只要它是日期时间值。

P.S。我已经随意删除了.FormulaR1C1,因为您插入的是值而不是公式,因此没有必要将文本框值插入活动单元格的公式属性中。

答案 1 :(得分:0)

我使用CDate()

发现我的日期工作正常
With ActiveCell
    .Value = CDate(TextBox4.Text)
End With

然后它尊重我的纸张格式。尝试使用代码格式化(即.NumberFormat = "dd/mm/yyyy")只是没有任何区别。