Microsoft Excel

Herbers Excel/VBA-Archiv

Gewonnene Werte in Formel speichern...weiter verwe

Betrifft: Gewonnene Werte in Formel speichern...weiter verwe von: ebody
Geschrieben am: 25.08.2014 11:44:14

Hallo,

ist es möglich Werte die innerhalb einer Formel gewonnen werden in der Formel zu speichern und in dieser Formel weiter zu verwenden?

Beispiel (die Formel macht jetzt nicht unbdingt Sinn, ich möchte daran nur besser zeigen können, was ich meine)

A20 = "Sarah Musterfrau"

=WENN(ISTFEHLER(FINDEN("Sarah";A20));TEIL(A20;1;10);TEIL(A20;10;20))

Ich möchte z.B. den Dann Wert speichern, möglichst in einem Namen (Variable), damit ich den Wert, wenn ich die Formel ausbaue, weiter verwenden kann und nur den Namen dann angeben muss.

Gruß
ebody

  

Betrifft: Hä? von: Jack_d
Geschrieben am: 25.08.2014 11:49:08

Hallo Ebody

also mir erschliesst sich deine Fragestellung nicht wirklich.

1. Was meinst du mit "speichern"
2. kannst du natürlich einfach die Formel ausbauen. Da die Rückgabe ja immer deinem Ergebnis entspricht.
3. Was meinst du mit "Namen angeben"?

Im Zweifel einfach eine Mustermappe erstellen mit einer IST und SOLL - Vorgabe

Grüße


  

Betrifft: AW: Hä? von: ebody
Geschrieben am: 25.08.2014 16:12:17

Mit Speichern meine ich den Wert temporär festzuhalten, wie bei der Programmierung, wo man Werte in Variablen speichert.

Wie gesagt, möchte ich z.B. den DANN WERT aus der Beispiel Formel festhalten. Wenn ich die Formel weiter ausbaue und diesen Wert nochmal benötige, bräuchte ich nur den Namen/Variable einfügen und nicht nochmal =WENN(ISTFEHLER(FINDEN("Sarah";A20));TEIL(A20;1;10);TEIL(A20;10;20)).

Das würde die Formeln deutlich verkürzen und vereinfachen.

Gruß
ebody


  

Betrifft: Ja, das geht, aber nicht mit XlStandardFktt, ... von: Luc:-?
Geschrieben am: 25.08.2014 17:26:51

…ebody,
denn auf Grund der internen FmlOptimierung dürfte das nicht erforderlich sein, sondern nur zum Einsparen von Schreibarbeit. Mit einer einschlägigen UDF (hier Rmb von mir) könnte eine Fml dann bspw so aussehen:
=WENN(Rmb(SUMME(A2:A11))>0;Rmb();"")
Eine einfache UDF, die das macht, kannst du selbst schreiben. Diese muss nur den übergebenen Wert in einer Static-Variablen speichern und im Falle, dass kein Argument übergeben wird (deshalb muss das Argument auch optional sein!), den zuvor gespeicherten Wert zurückgeben. Das fktt sogar fmlübergreifend, was man aber aus naheliegenden Gründen (Zufälligkeit des Ergebnisses) nicht nutzen sollte.
Gruß, Luc :-?


  

Betrifft: Alternativ dazu kannst du natürlich einen ... von: Luc:-?
Geschrieben am: 25.08.2014 18:58:19

…solchen FmlTeil auch in eine benannte Fml auslagern (Namen definieren!), Ebody,
und nur den Namen beliebig oft in deiner Fml verwenden, wofür dann auch keine VBA-Kenntnisse erforderlich sind.
Luc :-?


  

Betrifft: ...ist das Formelergebnis von: Frank
Geschrieben am: 25.08.2014 18:26:54

Hallo ebody,

falls Du nicht Luc's Vorschlag weiterverfolgst (bzw. er Deinen bei 'VBA nein' - lt. Kenntnislevel), mach doch mal deutlicher, was Du beabsichtigst.
Der Wert der Formelauswertung steht doch in der Zelle. Ist das nicht genau der Zwischenspeicher, nach dem Du suchst? Den kannst Du mit Umwandlungen wie WERT, TEXT etc. umwandeln, mit direkten Verweisen oder INDIREKT Dich darauf beziehen, mit WENN etc. auswerten und weiterverarbeiten.
Du hast jede Menge Zwischenspeicher = Variablen zur Verfügung, jede Zelle ist eine.

Grüsse,
Frank


 

Beiträge aus den Excel-Beispielen zum Thema "Gewonnene Werte in Formel speichern...weiter verwe"