复制单元格的值,而不是公式

我想在一个小时内只抓取当前的分钟数。

我使用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))