VBA - 从头开始​​查找字符串

时间:2014-03-18 07:57:08

标签: excel vba find

我需要找到一个字符串" c =",而我正在寻找的单元格的值为" c = 0.32"。 问题是在同一范围内,我有一个值为" blablac = 54"的单元格,它首先出现,而

Dim x as Integer
x = Find("c =", MatchCase:=True).row

函数,返回一个而不是" c = 0.32"一。 如何告诉find函数在单元格值的开头查找字符串,以便我可以获得正确的值?

2 个答案:

答案 0 :(得分:2)

您可以使用通配符What:="c =*"并使用LookAt:=xlWhole(用于匹配整个单词)。在这种情况下,Find将仅返回单元格,其值从c =开始:

Dim x As Long
Dim rng As Range

Set rng = Find(What:="c =*", LookAt:=xlWhole, MatchCase:=True)

If Not rng Is Nothing Then
    x = rng.Row
End If

答案 1 :(得分:1)

请改用Instr。这为您提供了第一次出现字符串的位置。

在您的情况下,Instr(<string>, "=")会为您提供=的位置。然后,您可以使用LeftMidRight来提取所需字符串的部分。

显然,案例不再相关,您可以使用trim删除=周围的任何空格。