excel - 带有 $ 的内置字符串函数

标签 excel vba

这个问题在这里已经有了答案:





What does the $ symbol do in VBA?

(5 个回答)


3年前关闭。




使用返回字符串(如 Left)的内置函数有什么区别吗?或使用与 $ 相同的功能附加(Left$)?

这个的输出:

Debug.Print Left("Foo", 2)
Debug.Print Left$("Foo", 2)

总是
Fo
Fo

我怀疑这完全是一回事,$版本仅出于某些兼容性原因而存在。

最佳答案

类型化函数(以 $ 结尾的函数)返回 String .未键入的版本返回 Variant .在内部,这些由一对不同的函数处理(在 Left 的情况下,它是 _B_str_Left_B_var_Left)。

如果您将返回值分配给 String或期望 String 的参数, 使用类型化版本 ( Left$ ) 避免隐式转换为 Variant .同样,如果您分配给 Variant ,使用非类型化版本可以避免强制转换。

关于excel - 带有 $ 的内置字符串函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52628282/

相关文章:

excel - 使用复制目标和选择性粘贴来保持格式

vba - & 符号未作为编码字符传入 url

excel - 如何使用 Worksheet_Change 函数找到的表中的值自动填充电子邮件正文

VBA从另一列中的日期中减去今天的日期并返回一个数字

vba - MS Office 2013 - VBA 密码安全

excel - OlAppointment 对象的 HTMLBody 解决方法?

excel - 如何在 Excel 中为过滤的行连接单元格数据?

VBA 扑克牌

excel - 一天4点自动运行宏

vba - 如何使用 Excel VBA 从浏览器下载 pdf 文件