请问Sheet3.Cells(1,1)和Sheet3.Cells(1,1).Value和Sheet3.Cells(1,1).Text的区别?
我在用Cells(1,2)=Sheet3.Cells(1,1).Values时发现,当Sheet3.Cells(1,1)里面是身份证号时,取回的数值后3位会变成0,用另外...
我在用Cells(1,2)=Sheet3.Cells(1,1).Values时发现,当Sheet3.Cells(1,1)里面是身份证号时,取回的数值后3位会变成0,用另外2个就不会出现这样的情况。请问他们的数据类型是不是有区别,使用时要注意什么吗?
O(∩_∩)O谢谢
我是在excel的vba里使用的…… 展开
O(∩_∩)O谢谢
我是在excel的vba里使用的…… 展开
展开全部
cells() 得到的是一个单元格对象,里面包含灶蔽山了一个单元格的所有属性,包括值。有些时候可以直接通过这个赋值,不过一般不要这样做。
.value 得到的是输隐中入的值,text得到的是显示的值。这两个什么区别呢?
你找个单元格,设置单元格格式为日期(其他格式也可以),
输入 2013-2-25
单元格显示为 二○一三年二月二十五日
这时候你会发现
.value =2013-2-25 (这个是输入的值)
.text = 二○一三年二月二十五日 (并激显示的值)
.value 得到的是输隐中入的值,text得到的是显示的值。这两个什么区别呢?
你找个单元格,设置单元格格式为日期(其他格式也可以),
输入 2013-2-25
单元格显示为 二○一三年二月二十五日
这时候你会发现
.value =2013-2-25 (这个是输入的值)
.text = 二○一三年二月二十五日 (并激显示的值)
更多追问追答
追问
也就是说用Sheet3.Cells(1,1)的话,得到的是一个单元格对象,里面包含了一个单元格的所有属性,包括值。
.value 的话得到的只是输入的值,
text得到的是显示的值,是这个意思吗
追答
是的。你自己多试试应该就可以理解他们的区别了。一个单元格对象是包含很多属性的,值 只是其中之一。也就是说 .value 和.text 是包含在 cells 里面的。像你上面Cells(1,2)=Sheet3.Cells(1,1).Values 等号两边的对象范围是不一样的,所以这样赋值就很容易出错。
展开全部
是数据类型在做怪枣郑
因为你的Sheet3.Cells(1,1).Values是一串数字,所以 vba自作主张把这个字符串 数值化啦。凳芦颂 而数值解化的结果就是 保留15位有效数字 然后赋值给 Cells(1,2)你哗顷可以这样修改
Cells(1,2)="'" & Sheet3.Cells(1,1).Values
'号是强制文本格式的意思,不打印的
因为你的Sheet3.Cells(1,1).Values是一串数字,所以 vba自作主张把这个字符串 数值化啦。凳芦颂 而数值解化的结果就是 保留15位有效数字 然后赋值给 Cells(1,2)你哗顷可以这样修改
Cells(1,2)="'" & Sheet3.Cells(1,1).Values
'号是强制文本格式的意思,不打印的
追问
那我直接用Sheet3.Cells(1,1)有什么区别?有什么要注意的吗?
用Sheet3.Cells(1,1).Text替换可以吗?
"号是强制文本格式的意思,不打印的,不打印是什么意思?我改了之后还是会自动保留位数啊
O(∩_∩)O谢谢
追答
这个是在你赋值的时候转换的。与你要输入的数据类型无关,所以 .text是不行的,你要处理的不是数据类型,而是禁止要写入单元格自动转换数字串为数值
比如你向 一个单元格里 写入一个18位的数字,如果是纯数字 则会转换成数值形式,数值会只保留15位有效数字 如 130112199912121214 会保存成 130112199912121乘以10的3次方
为啦防止在 给单元格赋值的时候 单元格自动转化,有两种方法:一提前设置好单元格的格式为 文本 。
二 在输入内容的前面加上一个英文半角的单引号,就是告诉Excel将单引号后的内容作为文本处理(单引号在打印机打印的时候是不会被打印出来的)。
而VBA 中采取第二种方法最好 就是 加 单引号
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你的发言只有指定的范尺祥围内的工作表Sheet1,Sheet2中没有父对象的父对象指定的单元格。
不指定父对象的默认错误的细胞会激活工作表单元格,如果您指定的父对象的父对象的范围陵清搏不匹配的细胞。
完成指定的父对象的语句如下:
Sheet1.Range(sheet1.Cells(6,1),在Sheet1细胞(8,28))。值= Sheet2.Range(sheet2.Cells(1,正册1),sheet2.Cells(3,28))。值
不指定父对象的默认错误的细胞会激活工作表单元格,如果您指定的父对象的父对象的范围陵清搏不匹配的细胞。
完成指定的父对象的语句如下:
Sheet1.Range(sheet1.Cells(6,1),在Sheet1细胞(8,28))。值= Sheet2.Range(sheet2.Cells(1,正册1),sheet2.Cells(3,28))。值
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询