繁体   English   中英

在Excel VBA中哪个更快:InStr或Find?

[英]Which is faster in Excel VBA: InStr or Find?

我有一个函数使用InStr()来定位字符串中的字符,但是我知道Excel中有一个内置函数称为FIND()。 谁能建议哪个更快或更有效的CPU?

hours_position = InStr(1, value, " ")

hours_position = Application.WorksheetFunction.Find(" ", value, 1)

两者相同,并且执行相同的操作。

大多数(但不是全部)工作表函数也可以从VBA调用。 例如,可以通过调用Application.WorksheetFunction.VLookup (或Application.VLookup)在VBA中使用VLOOKUP工作表函数。

同样,您可以使用Application.WorksheetFunction.Find和Application.WorksheetFunction.Search 您可以使用它们来模拟工作表功能在VBA代码中的工作方式。

这些功能仅在Excel VBA中可用,而InStr是通用VBA功能,可在所有Office应用程序(以及VB6,VB.NET等)中使用。

除此之外,Excel VBA中的Range对象具有Find方法,而Worksheet对象具有Find对象。 但是,它们的用途不同:您不能使用它们来搜索字符串中的文本,而只能搜索具有指定内容的单元格。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM