vb如何读取excel单元格的时间!

ldjldj 2007-09-11 09:01:31
excel表中有一列设定的是时间类型,数据为
13:20
14:10
15:20
....

用vb读该单元格时,读出的数据被转换成了小数,如0.95666
如何解决呢?
...全文
630 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
ldjldj 2007-09-11
  • 打赏
  • 举报
回复
cdate(0.95666) 提示不匹配
熊孩子开学喽 2007-09-11
  • 打赏
  • 举报
回复
在读到之后,使用CDATE函数来转换回时间

clear_zero 2007-09-11
  • 打赏
  • 举报
回复
?cdate(0.95666)
22:57:35
li_net 2007-09-11
  • 打赏
  • 举报
回复
学习
galactic 2007-09-11
  • 打赏
  • 举报
回复
用DATA型的变量保存读出来的数据呢?
CuiCanBin 2007-09-11
  • 打赏
  • 举报
回复
使用 Range 对象的 .Text 属性而非 .Value 属性来读取单元格的值即可:

Dim sText As String

sText = Selection.Text

'或者
sText = Cells(3, 3).Text

Debug.Print sText
of123 2007-09-11
  • 打赏
  • 举报
回复
日期时间类型实际上就是 Double 型数字,整数部分解释为日期,小数部分解释为时间。

?cdate(0.95666)
22:57:35

实际上也可以用小数乘以 86400 秒,再换算成时分秒。

jieweibin 2007-09-11
  • 打赏
  • 举报
回复
用text1.text=Range("A1").text的形式就可以,用text1.text=Cells(1,1)就是小数,可能是Excel有潜在的规则吧

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧