第 1 列 = 我在单元格中输入的内容。
第 2 列 = 选定单元格时公式栏显示的内容。
第 3 列 = 未选定单元格时单元格显示的内容。
1 | 2 | 3
-----------------------------------
30-07-17 | 30-07-17 | 30-07-17
10-08-17 | 10/8/2017 | 08-10-2017
13-08-17 | 13-08-17 | 13-08-17
09-09-17 | 9/9/2017 | 09-09-2017
我尝试重新输入,尝试更改格式,尝试复制粘贴格式:都不起作用;第 2 行和第 4 行总是这样,即使所有单元格的格式都相同。出了什么问题?这是 Excel 中的错误吗?
我在 Windows 10 上,使用 Excel 2016。
更新:根据@ScottCraner 提供的信息:如果单元格中的 DATE 字符串根据本地设置无效(例如当 MM = 13 或 30 时),则不会更改字符串,否则将以某种格式显示 DATE(例如“DD-MM-YYYY”格式,可能混合 MM 和 DD)。
我必须以“MM-DD-YYYY”格式输入,它将以“DD-MM-YYYY”格式显示,这正是我想要的。
一部分已经解决,但仍有疑问:
当 DATE 无效时,为什么 Excel 不显示警告?
第 2 行和第 4 行,为什么“-”会变成“/”?
另一个更新:
有了@RonRosenfeld 提供的更多信息,我认为问题已经解决。
(1)如果 DATE 输入字符串无效(根据区域设置),则单元格将按原样显示,不带格式。
(1A)公式栏也将按原样显示文本。
(1B)一般情况下,不会向用户发送通知。如果用户希望收到此错误的通知,则必须使用数据验证。
(2)如果 DATE 输入字符串有效(根据区域设置),则单元格将以用户给出的格式显示。
(2A)公式栏会以区域缩写设置来显示。
(2B)没有办法找回用户具体输入的内容。
Excel 会自动更改内容,这有点令人困惑!
感谢 @ScottCraner 和 @RonRosenfeld!
答案1
根据@ScottCraner 和@RonRosenfeld 提供的信息,我认为问题已经解决。
(1)如果 DATE 输入字符串无效(根据区域设置),则单元格将按原样显示,不带格式。
(1A)公式栏也将按原样显示文本。
(1B)一般情况下,不会向用户发送通知。如果用户希望收到此错误的通知,则必须使用数据验证。
(2)如果 DATE 输入字符串有效(根据区域设置),则单元格将以用户给出的格式显示。
(2A)公式栏会以区域缩写设置来显示。
(2B)无法找回用户具体输入的内容。
Excel 会自动更改内容,这有点令人困惑!
感谢 @ScottCraner 和 @RonRosenfeld!
答案2
使用公式 =TEXT(A1, "dd-mm-yyyy") 更改它以满足您的特定格式。您可能需要清除要使用公式的单元格的格式。
答案3
使用宏时遇到过类似的问题。该问题依赖于日期的本地变量。
您可以强制这样的日期,=Day("A2")&"/"&Month("A2")&"/"&Year("A2")
只有当您需要字符串时这才会起作用。
此外,还有这个“奇怪的”(至少对我来说)格式数字“m/d/yyyy”,它将带你本地变量并输出正确的日期。这个对我来说一直有效,否则日期和月份会不断地交换,没有任何逻辑。我在 VBA 中像这样使用过这个.range(rng).FormatNumber = "m/d/yyyy"
干杯