我使用vba在excel中存储了一些值,并将它们与其他结果进行比较。结果可以是:名称,姓氏,地址,时间......
我遇到的问题是,当我存储具有日期格式的字符串时,它会自动将其作为时间。例如,如果我输入8:15它会自动将其转换为08:15,然后当我将它与其他相同值(8:15)进行比较时,它会返回false,因为它不是08:15。
所以基本上问题是......如何在不转换为08:15的情况下引入像8:15这样的值?
答案 0 :(得分:0)
两种方法:
'8:15
将被解释为值“8:15”的字符串。="8:15"
也被解释为值为“8:15”的字符串。答案 1 :(得分:-2)
我假设这是在您输入单元格中的值时。单元格的格式可能是一般的,因此它会格式化数字或日期不同的东西。将其更改为文本。
选择所有(或特定列)右键单击 - 格式化单元格 - 数字选项卡 - 文本选项。它说“即使数字在单元格中,文本格式单元格也会被视为文本。单元格显示为输入完全”
另一个选项,在VBA中使用.FormulaR1C1
代替.value
进行比较。 .value
是单元格的实际值(如公式结果),其中.formulaR1C1
将为您提供实际输入的文本。所以.formulaR1C1可能会得到实际输入的8:15而不是更正的值:08:15。