Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

addieren einer Zahlenreihe in einer Zelle
#1
Hallo,

ich möchte eine Zahlenreihe 1+2,75-1,5*2*4, die in einer Zelle (als Text formatiert) eingegeben wurde, ausrechnen.
Auf dem Blatt soll diese Zahlenreihe in A1 auch so erscheinen, das Ergebnis soll in A2 stehen.

Könnt ihr mir helfen? Bitte erklärt es für Anfänger.

LG Klina
Antworten Top
#2
Hi,

das kannst du auf einem Umweg bewerkstelligen. In meinem Beispiel ist in A1 dein gewünschter Zahlentext und in B1 soll das Ergebnis stehen. Dann musst du B1 über den Namensmanager einen Namen vergeben (im Beispiel Ergebnis) und darin als Bezug die Formel
Code:
=AUSWERTEN(Tabelle1!$A$1)
schreiben.

Nun kannst du mit =Ergebnis deinen Text berechnen.

Arbeitsblatt mit dem Namen 'Tabelle1'
AB
11+2+36

ZelleFormel
B1=Ergebnis
Verwendete Systemkomponenten: [Windows (32-bit) NT 10.00] MS Excel 2016
Diese Tabelle wurde mit Tab2Html (v2.6.0) erstellt. ©Gerd alias Bamberg
Gruß Günter
Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen.
angebl. von Georg Christoph Lichtenberg (1742-1799)
Antworten Top
#3
Gelöscht!
Schöne Grüße
Berni
Antworten Top
#4
Hi Klina,

noch ein Nachtrag: wenn du einen Bereich benötigst (z.B A1:A10), dann gibst du diesen im Namensmanager an. Deine Datei musst du zwingend als .xlsm oder .xlsb abspeichern, weil es sich um ein so genanntes Excel4-Makro handelt.
Gruß Günter
Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen.
angebl. von Georg Christoph Lichtenberg (1742-1799)
Antworten Top
#5
Moin und nur ergänzend!
Da das Excel4-Makro ohnehin als .xlsm oder *b abgespeichert werden muss …
… nehme ich dann gleich "richtiges" VBA.
Die UDF (user defined function) kann dann ebenfalls als ganz normale Tabellenfunktion genutzt werden.
Das Replace() ist hier notwendig, damit VBA den englischen Dezimaltrenner nimmt.
Code:
Function Text_ausrechnen#(Zelle$)
Text_ausrechnen = Evaluate(Replace(Zelle, ",", "."))
End Function

AB
11+2,75-1,5*2*4-8,25
2-8,25

NameBezug
Ergebnis=AUSWERTEN(Tabelle1!$A$1)

ZelleFormel
B1=Ergebnis
A2=Text_ausrechnen(A1)

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
[-] Folgende(r) 2 Nutzer sagen Danke an RPP63 für diesen Beitrag:
  • WillWissen, echo
Antworten Top
#6
Hi Ralf,

danke für die Ergänzung - hab' sie doch gleich mal in meine Sammlung aufgenommen.
Gruß Günter
Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen.
angebl. von Georg Christoph Lichtenberg (1742-1799)
Antworten Top
#7
Moin Ralf,

Zitat: … nehme ich dann gleich "richtiges" VBA. … Text_ausrechnen = Evaluate(Replace(Zelle, ",", "."))

Ein Glück, dass nicht ExecuteExcel4Macro davor steht Smile
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#8
Ja, sind beides Methoden der Application.  :21:
Ich persönlich empfinde allerdings die Übergabe des Strings als Argument einer Funktion "stimmiger" als die Namensdefinition, bei der man ja durchaus mit den Dollars spielen kann, was zu einer Verunsicherung der meisten Fragenden führt.

… und auch hier habe ich wiederum die Füßchen der Gänse bemüht. Wink

Gruß Ralf

NB:
Ich musste tatsächlich nachschlagen, wie der Plural von Dollar lautet.  Blush
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antworten Top
#9
Vielen Dank für eure schnelle Antwort.
Ihr habt mir sehr geholfen.

LG Klina
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste