Vba 复制单元格的值,而不是公式
我试图在一小时内只抓取当前的分钟数 我使用Vba 复制单元格的值,而不是公式,vba,excel,Vba,Excel,我试图在一小时内只抓取当前的分钟数 我使用NOW()函数,并将其所在单元格的格式设置为仅mm。所以在单元格显示中,如果是9:08,我得到08 每当我尝试像=VALUE(D5)或=D5这样的excel公式时,我都会得到(我假设是这样的)一个未格式化的日期字符串 我现在正在寻找使用VBA的宏来解决我的问题 我试过: 工作表(“Sheet1”).单元格(23,1)=工作表(“Sheet1”).范围(“E20”).值 然而,我得到了与我的excel公式相同的东西。是否有任何VBA方法可以仅获取在单元格中
NOW()
函数,并将其所在单元格的格式设置为仅mm
。所以在单元格显示中,如果是9:08,我得到08
每当我尝试像=VALUE(D5)
或=D5
这样的excel公式时,我都会得到(我假设是这样的)一个未格式化的日期字符串
我现在正在寻找使用VBA的宏来解决我的问题
我试过:
工作表(“Sheet1”).单元格(23,1)=工作表(“Sheet1”).范围(“E20”).值
然而,我得到了与我的excel公式相同的东西。是否有任何VBA方法可以仅获取在单元格中显示并复制到新区域的值。它实际上不需要复制,我只需要在宏中进一步使用该值
我也愿意使用其他方法来获取当前小时内的当前分钟数。不要混淆格式和数据
为什么不在一个单元格中使用=MINUTE(D5)
,不管格式如何,它都会将该单元格设置为MINUTE值?将该单元格用作VBA中的源
=HOUR(D5)
将以类似方式运行,但返回小时部分。如果显示9:08
然后选择该单元格并:
Sub dural()
Dim s As String
s = Split(ActiveCell.Text, ":")(1)
MsgBox s
End Sub
注意这是一个字符串可以这样计算:
=60*(NOW()*24-INT(NOW()*24))
目标是什么?获取字符串“08”?或者得到值8?对于字符串:Excel中有一个=TEXT(值“[formatpattern]”)函数<代码>=文本(D5,“mm”)