关于Value和Formula的区别

①设置单元格的值直接使用Value属性
②设置公式是用Formula属性,一般以等号开头. 以下例子均已运行通过:
[1] ActiveCell.Value = 23 * 10
[2] ActiveCell.Offset(1, 0).Formula = 23 * 10
[3] ActiveCell.Formula = "=23*10"
[4] ActiveCell.Value = "=23*10" [1]与[2]没什么区别,实际上[3]与[4]也没有什么区别,一样都可以执行的.
但是按网上及系统自带帮助的解释,如果牵到公式的话,最好还是用Formula属性比较好些.
注意,如果用到下面的用法,就不一样了.
毫无疑问,在一些VB过程中可能需要获取单元格或者单元格区域中的内容。虽然既可以使用Value属性也可以使用Formula属性,但是这次,Range对象的这两个属性是不可互用的。
„ Value属性显示指定单元格中公式的结果。例如,如果单元格A1中含有公式"=4*25",那么指 令?Range("A1").Value将会返回值100
„ 如果想要显示公式而不是结果,那么必须使用Formula属性:?Range("A1").Formula。Excel将 会显示公式"=4*25"而不是结果100。
举例如下:
ActiveCell.Value = 23 * 10
ActiveCell.Offset(1, 0).Formula = 23 * 10
ActiveCell.Formula = "=23*10"
ActiveCell.Value = "=23*10" Debug.Print ActiveCell.Value '输出230
Debug.Print ActiveCell.Formula '输出=23*10
'注意上面两句,这才是value与formula的真正区别.

Powered by Zoundry Raven

菊子曰 这就是菊子曰啦!
posted @ 2010-09-03 11:57  surfacetension  阅读(1590)  评论(0编辑  收藏  举报