在某些函数名称中尾随“$”的重要性是什么?

时间:2016-01-07 08:41:18

标签: excel vba excel-vba

我最近查看了Microsoft的一些vba源代码:[将分数转换为十进制值] [1]

[1]:https://support.microsoft.com/en-us/kb/185424我注意到有几个函数有一个尾随的“$”,特别是修剪$(),左边是$(),另一个是$()。我的问题是:“$”表示什么?

我下载了微软功能,并在Excel 2007下正确运行。

由于VBA trim()与工作表函数trim()的工作方式不同,我编写了一个小程序来比较3个可能的trim()调用的操作。我发现trim()和trim $()产生了相同的输出。当然,worksheetfunction.trim()会生成从字符串内部删除多余空格字符的输出。

我对尾随的“$”非常好奇,并且会对启蒙感激不尽!

谢谢你, 戴夫

2 个答案:

答案 0 :(得分:4)

引用https://bytes.com/topic/access/answers/196893-difference-between-left-left-function

Allen Browne
尾随$是String数据类型的类型声明字符  VBA。  从Left $()返回的结果是一个字符串,而Left()返回一个  变种。  如果有任何Null值,你必须使用Left(),而不是Left $(),  因为Variant可以是Null但字符串不能。

该帖子有一个完整的例子

答案 1 :(得分:2)

语法是古代历史遗留下来的习惯。在早期版本的Basic变量中不必声明,但数据类型由变量名称隐含。任何以$结尾的变量都是一个字符串,任何以%结尾的变量都是一个整数。

FORTRAN有一个类似的约定:任何以字母I,J,K,L,M或N开头的变量都是整数,其他都是真实的。