excel vba中 range.text和range.value的区别

2024-12-11 15:24:36
推荐回答(3个)
回答1:

value :是数据的意思

text 是文本的意思
具体到excel,一般是在设置了单元格格式后才有区别,比如你设置单元格格式为日期格式,
然后在该单元格输入 2013-3-5 因为单元格格式,所以单元格实际显示为 2013年3月5日
那么这个时候, value=2013-3-5 , text =2013年3月5日。
或者你可以简单的理解为:value就是你输入的数据,text 是单元格实际显示的文本。

至于你的问题,我感觉根本原因不应该是这个。是不是你设置了单元格格式。

回答2:

数据类型不同。

如单元格的格式为“常规”,Range.value的数据类型会根据单元格内容而改变。
如内容为"ABC"则为文本型,内容为“123”则类型为数值型

而Range.text、 ComboBox1.Value、 ComboBox1.text均为文本型

你的代码1,如输入"abc",则没问题;如输入123,则会重复添加。

回答3:

Value 属性会因为你单元格的格式设定发生变化,比如货币,日期等类型。因为不知道你的具体情况,不敢肯定。如果你不喜欢用text这个属性的话,可以试试“Value2”属性,应该就不会出现上面的问题了。