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>, "=")
给你的位置=
。 然后,您可以使用Left
, Mid
和Right
来提取您想要的string部分。
显然,案件不再相关,你可以使用trim
去除=
周围的任何空格。