Hallo!
Ich möchte in einer einzelnen Zelle eine Funktion aufrufen, und als Ergebnis dann die Zellen unterhalb(!) des Aufrufs mit verschiedenen Inhalten bespielen.
Im Prinzip ist mir der Aufbau meiner Funktion klar, nur ich habe Probleme mit dem trivialsten(?) - nämlich der Ausgabe meiner Werte in die drunterliegenden(!) Zellen.
Bisher hatte ich die Ausgabe meiner Funktionen immer direkt in der aufrufenden Zelle - das klappt problemlos. Aber das soll hier nicht so sein - ich will die Zellenwerte von mehreren Zellen unterhalb des Aufrufs ändern! Aber leider zeigt er mir nie einen Wert an - beim Versuch bekomme ich als Ergebnis immer nur #WERT! in meiner Aufrufezelle zurück, und keinen Wert in den darunterliegenden Zellen angezeigt.
Wenn ich testweise etwas ausgeben will, dann geht das nur wenn ich das als Sub mache und als Macro abspiele. Also sowas simples wie hier klappt nur als Macro, nicht in der Funktion:
1 | ThisWorkbook.Sheets( "Results" ).Range( "E16" ).Value = "ABC"
|
Ich will das aber in meiner Funktion haben, da das ganze automatisch passieren soll, und nicht erst mit dem Start eines Macros. Es klappt auch nicht, wenn ich in meiner Funktion die Sub aufrufe...
Mir fehlt es da leider an dem allgemeinen Wissen dazu - kann ich denn aus einer Funktion keine anderen Zellenwerte ändern, nur die aufrufende Zelle?!
Und wie könnte ich das dann lösen, wenn ich kein Macro abspielen will. Ich muss ja auch noch verschiedene Werte an die Funktion/Sub übergeben, was bei einer Funktion easy ist, aber bei einem Sub das ich im Macrorekorder abspiele?
Hoffe es war verständlich...
Danke!
Gerald
|