如何停止 Excel 中的 VBA 代码将文本转换为时间?

如何停止 Excel 中的 VBA 代码将文本转换为时间?

我尝试将输入字段格式化为文本,但无济于事。当我在调试器中逐步执行它时,它显示一个双精度数字,我猜是日期转换。我只想让它将其视为文本,而不是将其转换为时间/日期。

有人能告诉我如何阻止转换吗?

文本字段的文本为 YY.MM.DD hh:mm:ss。我想删除秒数,因此我使用:

Select.Value=MID(Select.Value,1,16) 

这不起作用。我已将文本放入字段中,但它确实截断了最后 3 个位置。

答案1

如果您使用 VBA,请尝试使用格式:

Select.Value=FORMAT(Select.Value,"YY.MM.DD hh:mm")

答案2

尝试在文本字段前放置单引号,以强制将其视为文本。

答案3

不清楚您想用时间值实现什么目的,这会影响所提出的解决方案。但是:

如果您特意想通过 VBA 来完成此操作,您可以定义一个字符串变量,然后将时间值传递给它:

strTextValue = cstr(format(selection.value,"YY.MM.DD HH:MM"))

您也可以直接在工作表中执行此操作,例如:

=TEXT(range("A1"),"YY.MM.DD HH.MM"))

相关内容