打开单元格格式对话框,有如下格式常规、数值、货币、会计专用、日期、时间、百分百、分数、科学计数、文本、特殊、自定义
问题1:
我一直想知道这些个格式和我们在VBA中使用的数据类型(Long Integer Double String等)的关系
当我们用手动输入或者代码向单元格内输入数据的时候,他们最终到底是以什么样的数据类型存储的
用代码从单元格中提取数据,文本格式和数值格式单元格中提取的数据显然是不同的,那么意味着单元格格式和和真正存储类型之间肯定存在着某种关系
比如数值意味着Double,文本意味着String,那其他的一些格式如百分比、分数都是用什么数据类型存储的呢??
问题2:
另外,当我们更改一个单元格的格式的时候,单元格内的数据类型并不会马上更改,要激活后才能实现最终的更改,那么面对一个别人传给我的工作表,我怎么断定其中数据类型呢,总不能一个个激活把?
...收起
单元格里的数据类型系统是根据数据内容确定的,比如:你将A列单元格格式设为保留两位的数值型,当你在A1输入 5 时,它就显示为5.00,如果输入 ABC,它就不会变成数值型,而是文本型,如果将文本改为数字后,又回到你设置的保留两位小数格式。所以单元格设置格式只能对能转换的数据有效。(当你设置为文本型后,所有输入字符都能转换为文本,可以理解为文本型才是单元格真正能设置的格式) 在VBA中的引用单元格数据时,数据类型由VBA中确定,当数据能转换时就直接赋值,不能转换时出现数据类型不匹配错误。举例来说,在单元格中输入4.56 数据,格式设为文本型,当在VBA中引用时,赋给整数型Long Integer结果是 5(自动四舍五入),Double型结果为 4.56
...全文