Deine Lösung hat, außer dem Fehler den du bereits nennst, wenn das gesuchte Element nicht enthalten ist, noch einen anderen Haken.
Stell doch an die letzte Stelle deiner Werteliste das gesuchte Element noch einmal und schau dir dann deine Positionen die du zurückbekommst an.
Wenn du nur das letzte Element hast bekommst du den Fehler beim Subset wieder. Wenn es in der Liste an anderer Stelle noch vorkommt entfällt bei deiner Lösung das letzte Element.
Eine funktionierende Lösung deines Problemes mit einem etwas anderen Ansatz schaut zum Beispiel so aus:
REM {Baue eine Zählerliste mit der gleichen Anzahl von Elementen};
@For(_i:=1;_i<= @Elements(fldListe);_i :=_i+1;_Counter := _Counter : @Text(_i));
REM {Verheirate beide Listen, einfache ConCat Operation (möglich weil die Anzahl der Elemente beider Listen gleich sein muss),};
REM {aber weil das erste Element der _Counter Liste leer ist mach da einen Trim außenrum, damit beide Listen gleich lang sind};
_ListeCount := @Trim(_Counter) + ":" + fldListe;
REM {Entferne aus der Liste alles was nicht dem gesuchten Wert entspricht und gebe nur den _Counter Teil zurück. Entferne alle leeren Elemente};
@Trim(@Transform(_ListeCount;"x";@If(@Word(x;":";2)=fldWert;@Word(x;":";1);"")))
Diesen Ansatz kann man übrigens mit wenigen Handgriffen so umbauen, das er dir die Positionen aller Elemente in der Liste zurückgibt, in denen dein gesuchter Wert auch nur teilweise enthalten ist.