Wenn du die Funktion umbenennst (z.B. ConvSpec oder so) und dann in die Zelle "=ConvSpec(ZeileSpalte von Parameter)" schreibst, dann funktioniert das ganze. Er gibt eine MessageBox aus. Schreibt aber in die Zelle selbst 0 hinein.
Aber wenn man die Funktion mit Rückgabewert String versieht (und diesen Rückgabewert entsprechend in der Funktion füllt), dann schreibt er ihn in die Zelle und ist somit sortier- und filterbar. Ausserdem hat man dann die Ergebnisse im Überblick (und nicht jede Zeile in einem eigenen Dialogfeld).
Mit dem String funktioniert dann aber das Rechnen (Gesamtpreis) nicht. Dafür müsste man einen Zahlenrückgabewert definieren und die Strings Euro1, Euro2, "," und Cent mittels Val() in eine Zahl verwandeln (und als Rückgabe definieren). Ich würde 2 Funktionen machen: Eine fürs Jahr (getYear oder so) und eine für den Preis (getPrice?). In der Tabelle gibts dann die Spalte Jahr mit der entsprechenden Funktion, die Spalte Preis (ebenfalls die entsprechende Funktion) und die Spalte Summe (in der einfach Stk. und Preis multipliziert werden), dadurch kannst du nach jedem Kriterium suchen, sortieren und filtern.
Sorry für das lange Geschreibsel. Hoffe, ich hab das richtig interpretiert.
