复制单元格的值,而不是公式
我想在一个小时内只抓取当前的分钟数。
我使用NOW()
函数,并将单元格的格式设置为仅为mm
。 所以在细胞显示,如果是9点08分,我得到08
。
每当我尝试像=VALUE(D5)
或=D5
的Excel公式,我得到(我假设这是一个未格式化的datestring)。
我现在正在寻找使用VBA的macros来解决我的问题。
我试过了:
Worksheets("Sheet1").Cells(23, 1) = Worksheets("Sheet1").Range("E20").Value
但是,我得到了与我的Excel公式相同的东西。 是否有任何VBA的方式获取单元格中显示的值并复制到新的区域。 它不需要被复制,我只需要在我的macros中进一步使用这个值。
我打开其他方式获取当前小时的当前分钟数。
尽量不要混淆格式和数据 。
为什么不在一个单元格中使用=MINUTE(D5)
,它会将该单元格设置为分值而与格式无关 ? 使用该单元格作为您的VBA中的源代码。
=HOUR(D5)
将同样操作,但返回小时部分。
如果显示9:08
然后select该单元格,然后:
Sub dural() Dim s As String s = Split(ActiveCell.Text, ":")(1) MsgBox s End Sub
注意这是一个string
可能是这样计算的:
=60*(NOW()*24-INT(NOW()*24))