VBA – 从头开始​​查找string

我需要find一个string“c =”,我正在寻找的单元格的值为“c = 0.32”。 问题是,在相同的范围内,我有一个单元格的值为“blablac = 54”,这是第一个,和

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

函数,返回一个而不是“c = 0.32”。 我怎样才能告诉find函数在单元格值的开始处查找string,以便我可以获取正确的值?

您可以使用通配符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 

改用Instr 。 这给你的第一个string的位置。

在你的情况下, Instr(<string>, "=")给你的位置= 。 然后,您可以使用LeftMidRight来提取您想要的string部分。

显然,案件不再相关,你可以使用trim去除=周围的任何空格。