何时应该使用“.Value”
我是Visual Basic的初学者,主要用它编辑MS Excel文件。 当复制/粘贴(单元格)内容或其他值时,在某些情况下.value
被添加。
何时应该添加?
什么时候不?
有必要吗?
如果我在不需要的地方使用它,会伤害我的代码吗?
在Excel VBA中, Range
对象是相当丰富的事物,它对应于一个单元格或一系列单元格。 因此,它具有各种属性(它在给定的行中,可通过.Row
属性访问,它具有内部颜色,可能的边界线,公式等等 – 所有这些都可以通过在点之后的正确属性访问)。其中一个属性。 它指的是单元格中的值 – 通常是数字或文本。 当使用Copy
和Paste
时,不会使用它,因为这些方法在整个Range
对象上使用 – 正如可以看到它们能够复制格式而不仅仅是原始值一样。
您可以将一个单元格中的值分配给另一个单元格。 即使这看起来像复制/粘贴,但它确实是完全不同的,在某种意义上说,它只是一种低技术解决scheme,而您所要做的只是传递价值观。 可以使用Range("A1").Value = Range("B1").Value
或Range("A1") = Range("B1")
。 后面的原因是Value
是Range
对象的默认属性 – 因此.Value
隐含在任何你不把Range
当作实际对象的上下文中。
就个人而言,当我想要读取或设置单元格(或单元格范围)中的Value
时,我总是明确地使用Value
,即使我可以依靠Value
是默认属性的事实。 大多数Excel VBA代码大量使用Range对象和Range对象中的值。 出于可读性的原因,对于代码来说,明确使用范围的时间和使用值的时间是个好主意。 如果你遵循SO上的excel-vba
标签,你会发现程序员依赖Range的默认属性是相对罕见的。