Der er ikke nogen grund til at vælge en "dårligere" løsning ud fra en formodning om, at man senere evt. kunne få brug for at gøre noget andet end det man rent faktisk har brug for at gøre lige nu. Så med mindre opgaven indeholder andet end det lordnelson oprindeligt beskrev, ville jeg altså vælge instr/left-metoden... :-)
I øvrigt behøves check ikke involvere to kald til instr, da man blot kan teste på pos efter man har udført instr første gang. Hvis pos er 0, så er der ingen lighedstegn i strengen og left-kaldet er dermed unødvendigt...
Jeg har lavet en funktion som illustrerer hvordan jeg ville implementere det:
function FindFoersteVaerdi(streng, separator)
dim pos
pos = instr(streng, separator)
if pos > 0 then
FindFoersteVaerdi = left(streng, pos-1)
else
FindFoersteVaerdi = streng
end if
end function
res = FindFoersteVaerdi("", "=")
Så vil jeg lade noget andet kode tage stilling til formatet og typen af returnværdien. Det vil gøre funktionen mere genbrugelig i andre sammenhænge.