Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel表格将日期更改为美国格式_Excel_Date_Textbox - Fatal编程技术网

Excel表格将日期更改为美国格式

Excel表格将日期更改为美国格式,excel,date,textbox,Excel,Date,Textbox,如何防止Excel表单上的文本框将日期重新格式化为美国格式? 我有一个Excel表格,其中包含一个文本框。文本框在工作表上有一个单元格作为其控制源。例如设置!B9 引用单元格(Settings!B9)的内容是以英国格式格式化的日期。但是,当表单显示时,它将日期重新格式化为US格式。这不是用户所期望的,用户并不总是清楚它这样做可能会导致一些灾难性的后果。我看不到允许我控制日期格式的文本框的任何属性,并且单元格的日期格式被正确设置为*dd/mm/yyyy。由于重新格式化是在幕后完成的,我甚至看不出如

如何防止Excel表单上的文本框将日期重新格式化为美国格式? 我有一个Excel表格,其中包含一个文本框。文本框在工作表上有一个单元格作为其控制源。例如
设置!B9
引用单元格(Settings!B9)的内容是以英国格式格式化的日期。但是,当表单显示时,它将日期重新格式化为US格式。这不是用户所期望的,用户并不总是清楚它这样做可能会导致一些灾难性的后果。我看不到允许我控制日期格式的文本框的任何属性,并且单元格的日期格式被正确设置为*dd/mm/yyyy。由于重新格式化是在幕后完成的,我甚至看不出如何使用VBA来更改它,因为它需要以某种方式中断文本框和引用单元格之间的绑定。

或者,(在表格中…)您可以在excel表格中分离日、月和年输入


然后使用
=date(年(A1)、月(A2)、日(A3))
将它们重新组合为有效的日期值。

再加上一个好问题,但我不确定您是否可以。您不能允许直接编辑工作表吗?使单元格看起来像一个文本框。@Bathsheba用户可以编辑工作表,但我正试图通过使用表单使他们更容易编辑工作表。表单上还有很多其他设置,包括带有VBA代码的组合框等,不幸的是,这并不是那么简单。我发现很难相信没有一种方法可以做到这一点,所以把问题贴在这里,因为以前似乎没有人问过这个问题;尽管在VBA代码中有很多关于更改日期格式的问题!希望有人知道一种方法,或者至少这个问题可以证明你不能。另外,谢谢您的夸奖。@AxelRichter不同意我的测试:我输入到单元格:10/03/2015单元格显示:10/03/2015公式栏显示:10/03/2015文本框显示:3/10/2015地区:英国单元格格式:*dd/mm/yyyyyyy您可以使用VBA代码执行此操作。例如,使用一个链接到单元格A1的简单文本框,您可以将其放入TextboxChange事件代码中:`with TextBox21.Value=Format(.Value,“dd-mmm-yyyy”)以`@RonRosenfeld结尾,我当时非常激动。然而,在测试中我发现,当你把标签移出字段时,它实际上会把它改成错误的日期!因此,我输入了2015年3月10日,当我从字段中签出时,它将更改为2015年10月3日。