Sub 文本查询()End Sub
2. 在A2单元格有一个电子邮件地址,要查找其中“@”符号是在地址的第几位,并且将返回的结果写入A1单元格中。
3. 在VBA中我们可以使用工作表函数Find来完成以上查询,这是其中的一种方法。
Sub 文本查询() Range("A1") = Application.WorksheetFunction.Find("@", Range("A2"))End Sub
4. 执行以上代码后,在A1单元格返回“@”符号在电邮地址中是第10位。
5. 但是当遇到文本不存在于查询的文本范围中时,Find函数则会报错,这也是此种方法的不利之处。
6. 要避免出现上面错误问题,可以使用VBA函数中的InStr函数,首先使用该函数查询可以得到正确的结果,如下所示。
Sub 文本查询()Range("A1") = VBA.Strings.InStr(Range("A2"), "@")End Sub
7. 运用InStr函数查询不存在的文本时,结果返回的是0而不会报错,即表示文本中没有该字符。
以上案例仅用于演示,更多实际应用请根据自己的需求进行相应的调整。
喜欢的朋友也请多多关注,感谢支持!