我想抓住一小时内当前的分钟数。
我使用NOW()
函数,我将其设置的单元格格式设置为mm
。所以在单元格显示中,如果它是9:08,我得到08
。
每当我尝试使用=VALUE(D5)
或=D5
这样的excel公式时,我会得到(我假设这就是它)未格式化的日期字符串。
我现在正在寻找使用VBA来解决我的问题的宏。
我试过了:
Worksheets("Sheet1").Cells(23, 1) = Worksheets("Sheet1").Range("E20").Value
然而,我得到的东西与我的excel公式相同。是否有任何VBA方法只能获取单元格中显示的值并复制到新区域。它并不需要被复制,我只需要在宏中进一步使用该值。
我也可以通过其他方式获取当前小时的当前分钟数。
答案 0 :(得分:2)
请尽量不要混淆格式和数据。
为什么不在一个单元格中使用=MINUTE(D5)
,将该单元格设置为分钟值而不管格式?在VBA中使用该单元格作为源。
=HOUR(D5)
会以相似的方式运作,但会返回小时部分。
答案 1 :(得分:0)
如果显示 9:08
然后选择该单元格:
Sub dural()
Dim s As String
s = Split(ActiveCell.Text, ":")(1)
MsgBox s
End Sub
请注意,这是字符串
答案 2 :(得分:0)
可能会这样计算:
=60*(NOW()*24-INT(NOW()*24))