Excel VBA拒绝以正确的语言在单元格中input/定义date

我很久以前就放弃了这个,但是决定重新开始。 我有一个程序,从另一张表中取出date并重新格式化,然后将它们input到另一张包含发票的表单中。 所以,如果我有2015年12月21日,我的代码应该输出2015年12月21日。问题是我使用法语电脑,它不会粘贴在英语,这是我所需要的。

如果你想进一步帮助我,我也必须在法国,美国和意大利的计算机上运行这个程序,我一直在寻找在工作簿打开但没有骰子的情况下临时改变计算机的语言环境的方法。 有任何想法吗?

'This is how I used to input the dates, but it only allowed the text to 'output "DECEMBER-21-2015" 'ActiveCell = _ "=UPPER(TEXT(Select!I5,""[$-409]MMMM-JJ-AAAA""))&"":""" 'I got my hopes up here, this code works but is the one that is stuck in French ActiveCell = UCase(Format(SecurityDepositDate, "[-$409]MMMM d, yyyy")) 'This I just tried to see if it would cause any changes ActiveCell.NumberFormat = "[$-409]MMMM d yyyy;@" 

您可以使用您想要的任何语言的月份名称数组“格式化”date:

 Function TheDate(dt As Date) Dim arr arr = Array("January", "February", "March", "April", "May", "June", "July", _ "August", "September", "October", "November", "December") TheDate = arr(Month(dt) - 1) & " " & Day(dt) & ", " & Year(dt) End Function