我的电子表格中有一个具有自定义类型格式的范围:
##":"##
在此范围内我还设置了数据验证:
验证标准
Allow: Text length (Ignore blank is unchecked)
Data: equal to
Length: 4
因为我想确保用户在输入时使用 4 位小数,例如 1300 或 0925。
问题:
如果用户输入以“0”开头,例如 0900,则验证标准会失败。这是为什么?我是否遗漏了某些关键信息?
谢谢。
答案1
您是否觉得将数字转换为时间值的 VBA 不起作用?您为什么要格式化单元格?我们已经在您的另一个问题中讨论了格式化方法的缺点。
当您输入数字时,Excel 会忽略前导零。因此,您的 4 位数字数据验证将无法通过。保留前导零的唯一方法是将其作为文本输入。但是当您输入文本时,您无法使用格式将文本格式化为显示为00:00
。
回到原点。你需要 VBA 来实现这一点。我提供了一个完美运作的功能在你的另一个问题中。
简单的格式化并不能解决问题。您需要 VBA。
答案2
不要使用自定义格式,而是将单元格格式设置为“文本”