我试图从我的工作簿中提取数据,因为我把工作簿弄错了,但我想保留数据。所以我必须浏览每个工作表并提取我需要的特定数据位。 (重复任务 = vba 代码救援)
我已经完成了,但我有一个讨厌的小问题。
我正在使用 ws.Range("C13") 来提取我需要的每个单元格。这是一个具有 10:00 或 22:13 等时间值的单元格。当我 debug.print 该值时,我得到一个小数。为什么?如何防止它将我的“10:30”转换为“0.4375”
据我所知,小数点甚至与时间值无关。
错了,它只是表示 24 小时周期的时间值。所以它是相关的。但还是。
最佳答案
ws.Range("C13")
相当于ws.Range("C13").Value
它从该单元格返回基础数据。
如果改为使用 ws.Range("C13").Text
,您将从单元格中获取显示的文本。如果您为该单元格设置了特定的日期/时间格式,则调用 ws.Range("C13").Text
应该以该特定格式返回文本
关于datetime - Excel VBA 阻止 VBA 将时间值转换为小数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15373504/