ExcelVBA021:Range.Value与Range.Text的差别
单元格对象Range的Value属性与Text属性,既然是两个属性自然是不同的,但对于初学者来说容易混淆,因为很多时候用Value和Text的结果是一样的。比如我们在一个单元格中输入“2020/1/17”,然后用VBA代码分别显示各自的结果:

结果是一样的对吧,这时我们将“2020/1/17”所在列的列宽稍稍拉小一点,同样的代码再来看结果:

Range.Text变成了一排#号,这就是两者之间的第一个差别,Text属性表示单元格的显示值,是在表格中展示我们眼睛直观看到的值,而Value属性表示单元格的内涵值,不会随显示的需要而变化,在任何情况下引用都是一致的。知道这个差别我们就很清楚什么时候使用Value,什么时候使用Text了。
第二个差别是,当Range不只是一个单元格时,Range.Text的数据类型变为Null,不可用,而Range.Value的数据类型变为Variant(),是一个变体数组,是数组就可以当数组来使,而且在选取单元格区域Range时,最好是连续的一维或二维,因为如果不连续,结果它只会选取区域当中第一个连续的部分,而且这第一个连续的部分如果只有一个单元格,它也不是数组,这一点在使用过程中应当注意。

浙公网安备 33010602011771号