2014-11-03 129 views
0

我有一个用户表单需要日期输入,直到今天还没有引起问题(用于过去2周)。更改为美国的日期格式从用户表格

当输入日期时,它将信息发布到可打印页面上可见的登台页面。

原来工作的格式是 -

ActiveCell.FormulaR1C1 = TextBox4.Value 

但随着现在的日期是2014年3月11日它被切换这一轮以2014年11月3日。

然后我试着改变这段代码,把它作为一个日期格式化。

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

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

有没有人有解决这个日期格式错误?

感谢 铝

+0

[有趣的阅读](http://stackoverflow.com/questions/12012206/formatting-mm-dd-yyyy-dates-in-textbox-in-vba/12013961#12013961) – 2014-11-03 12:56:59

回答

0

我会做什么,以避免与日期格式的任何问题是:

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

这样你使显示值进入细胞内独立于它是如何被用户插入,只要它是一个日期时间值。

P.s.由于您插入的是值,而不是公式,所以我没有任何意愿将您的文本框值插入到活动单元格的公式属性中,因为我们已经任意删除了.FormulaR1C1

+0

我试过这个和一些因为它仍然给出相同的日期错误。 @Matteo – 2014-11-03 14:19:01

+0

您的代码包含对“ActiveCell”的引用,这意味着当前选定的单元格。你确定你不希望你的代码改变一个不活跃的单元吗?我试过这个代码,它的工作原理,不知道为什么它不应该与你在一起。确保你还没有使用'.FormulaR1C1',而是单元格'.Value'。 – 2014-11-03 14:27:45

+0

我在运行之前激活了我需要的单元格 - 'Range(“M2”)。选择'@Matteo – 2014-11-03 15:03:28