为什么同样的公式可以在excel的单元格中应用,但是却不能在excel的VBA中使用?

比如以下公式:
=text(19840209,"00-00-00")
如果在excel的单元格中输入,给出的结果就是1984-02-09
如果输入=text(840209,"00-00-00"),给出结果就是84-02-09
但是如果在VBA中使用的话,结果就提示“函数未定义”(text被标出)……
理论上excel中能用的的函数,vba中都应该可以用呀?求解……
另外如何在vba中实现上述公式的效果?同样求解……

第1个回答  2010-09-07
因为有些函数在vba里面是不支持的,你可以录制个宏,看下单元格数值的格式设定为日期的该如何写程序。
Range("A1").Select
Selection.NumberFormatLocal = "##-##-##"
Range("C7").Select

如果,想输入公式可以这样输入
Range("B4").Select
ActiveCell.FormulaR1C1 = "=TEXT(RC[-1],""##-##-##"")"
第2个回答  2010-09-07
ActiveCell.FormulaR1C1 = "=TEXT(840209,""00-00-00"")"
写在引号里,VBA和EXCEL的函数还是不一样的
第3个回答  2010-09-07
VBA中使用某些工作表函数时需加个前缀
[a1]=worksheetfunction.text(19840209,"00-00-00")本回答被提问者采纳
第4个回答  2010-09-07
vba代码具体录制宏看具体代码就可以了...