猿问

.text、.value和.value 2之间有什么区别?

.text、.value和.value 2之间有什么区别?

我不是在寻求任何脚本的帮助,但我的问题是澄清。最近我在Excel中做了很多VB脚本,所以在这个问题上我真的是指Excel。.text、.value和.value 2之间有什么区别?比如我应该什么时候使用Target t.text、Target t.value和Target t.value 2?我从未使用value 2选项,但仍然想知道它用于什么。

有时,如果我使用.text,它会给我一个错误,当我只检查或操作单元格内的文本时,我需要使用.value。然后,有时当我认为我应该使用.value时,我会得到一个错误,我需要使用.text。通常,它接受或不接受一个问题,但有时它确实产生了影响。我知道这是有逻辑的,但我似乎不明白。

我还发现,如果您只是将它保留为目标,而没有指定.text或.value,那么它一开始就能工作,但是有人做的事情最终会导致脚本出错,所以最好在它上使用一个.thing。我想我要问的是,是否有人能给我一些指导,经验法则,如何正确地使用每一个,以及何时需要使用。

谢谢你们的解释伙计们。我有点明白了。它们都是很好的解释。下面是我的一些代码的一个很小的例子。我认为它应该是Target t.text,但是它会出错,所以当我使用Target.Value时它就起作用了。

If LCase(Target.Value) = LCase("HLO") And Target.Column = 15 Then
    Target.Value = "Higher Level Outage"End If

我仍然有点困惑,因为当我想到价值或价值时,尤其是在你给出的答案之后,我认为它们只适用于数字。然而,在我的例子中,我所指的是严格意义上的文本,这是我的脚本所指的很多内容(单元格中的文本比数字更多)。


qq_遁去的一_1
浏览 2481回答 3
3回答

小唯快跑啊

.Text提供一个字符串,表示单元格屏幕上显示的内容。使用.text通常是个坏主意,因为你可以得到#.Value2为您提供单元格的基础值(可以是空的、字符串、错误、数字(双)或布尔值)。.Value为您提供与.Value 2相同的值,除非单元格被格式化为货币或日期,它会给您一个VBA货币(这可能会截断小数位)或VBA日期。使用.value或.text通常是个坏主意,因为您可能无法从单元格中获得真正的值,而且它们比.value 2慢有关更广泛的讨论,请参见文本与值之比2
随时随地看视频慕课网APP
我要回答