VBA - 调用重写函数

问题描述 投票:0回答:2

我试图使用函数Left从VBA中的String中提取前2个字符。

Left("qwerty", 3) 

通常,此函数返回“qwe”。问题出在同一个模块中,还有另一个函数Left:

Public Function Left(ByVal Text As String, ByVal Value As String)

因为这个,如果我打电话

Left("qwerty", 3) 

该函数将从“qwerty”开始从字符串“3”中提取子字符串,并返回一个空字符串。

我的问题是当第二个参数是整数时,我如何调用标准的Left函数。

vba override
2个回答
1
投票

在现有函数之后不要命名自己的函数,因此重命名当前函数。由于您的功能不太可能像现有功能那样优化,为什么不简单地使用它?

另外,使用了打字功能

Left$(myString,3)

当使用Left等字符串的内置函数时。

调用Left的另一种方法是:

VBA.Left$

0
投票

发现。 VBA.Left $( “QWERTY”,3)

VBA.Left(“qwerty”,3)仍然调用自定义函数。

© www.soinside.com 2019 - 2024. All rights reserved.