Supportnet Computer
Planet of Tech

Supportnet / Forum / Tabellenkalkulation

Berechnungen in Textfeldern





Frage

Gibt es irgendeine Möglichkeit in einem Textfeld automatische Berechnungen anzustellen, oder dieses mit einer Zelle zu verknüpfen?? (Ich weiss, der Name Textfeld deutet ja schon auf Text hin, aber vielleicht gibt es ja trotz allem eine Möglichkeit.

Antwort 1 von Floooooo

Ja, die gibt es. (Allgemeine Frage, allgemeine Antwort.... wenn Du Dein Problem etwas genauer formulierst, kann man mehr sagen)

Antwort 2 von Severine

Hallo Flooo
Merci für deine schnelle Antwort. Es ist leider nicht mein eigenes Problem, sondern das eines Mitarbeiters, deshalb wollte ich vorerst nur wissen ob so was überhaupt möglich ist. Wie ich verstanden habe, arbeitet er mit einer Tabelle voller Textfelder, die monatlich in der Grösse und Position angepasst werden. In diesen Textfelder hat er je nach dem Nur-Text, Nur-Formeln, die er bisher von Hand ausrechnete (nur einfache Formeln wie z.B. Anzahl * Stück), oder sogar Text und Formlen)
Er hat mich nach einer Möglichkeit gefragt, die Formeln nicht jedesmal von Hand ausrechnen zu müssen. Ich nehme mal an, er sucht nach einer Möglichkeit, wie er die Formeln mit einer Zelle ausserhalb der Textfelder verknüpfen kann, damit jeweils nur diese Zelle verändert werden muss und die ganzen Resultate in den Textfeldern automatisch aktualisiert werden.
Genauer kann ich das Problem leider auch nicht schildern..

Antwort 3 von Floooooo

Mmmm... klingt nicht ganz unkompliziert... denn insofern hast du recht: Text bleibt Text, und mit Text lässt sich nicht rechnen... ich wollte eher auf Konkatenation ("=A1 & A5") raus. Aber befrag doch mal die Excel-Hilfe nach "eval" oder so ähnlich. Von anderen Programmiersprachen kenne ich solche Funktionen, denen man als Parameter einen Ausdruck (String) mitgibt, der dann ausgewertet wird. Steht also eine Formel als Text, müsste sich das so lösen lassen.

Antwort 4 von Severine

habe leider nichts gefunden in der Office Hilfe. Mit VBA und anderen Programmiersprachen kenne ich mich gar nicht aus. Aber ist schon ok... immerhin habe ich keine Falschinformation herausgegeben, als ich weitergab, das dies wenn überhaupt bestimmt nicht einfach zu lösen wäre...
Merci Dir..

Antwort 5 von Guenter

Hallo,

mit VBA kann man das wahrscheinlich machen. Dazu müsste man aber mehr Details kennen. Du kannst mit VBA den Inhalt der Textboxen (oder Teile davon) in Zellen schreiben und umgekehrt. Das kannst Du mit der Makroaufzeichnung testen.
In den Zellen kann man dann natürlich rechnen.

Gruß
Günter

Antwort 6 von xxxxxxxxxxxxxxxxxxx

hi alle

1) vba kenntnisse vorrausgesetzt
2)laenge der zelle ermitteln
3)zahlen und operanden ermitteln und isolieren gegebenfalls pos festhalten
4)berechnung durchfuehren
5)durch festgehaltende pos text aktualisieren


Antwort 7 von Traumtaenzer

@Mr. X
Hmm, Länge welcher Zelle? Es geht um Textfelder...

good nighty,
Traumtänzer

Antwort 8 von Friedel

Um was geht es jetzt? Ursprünglich ging es um Excel. Excel-Dokumente sind Dokumente, die aus lauter Zellen bestehen. Wenn eine Zelle Text enthält kann man auch die Länge bestimmen. Die Formel dürfte bei euch etas anders aussehen als bei mir, weil ich MS Office auf Englisch habe.

Das ganze lässt sich recht einfach machen, wenn die Tabelle jedes mal gleichartig sind. Wenn also in jeder Tabelle an der selben Stelle ein Wert steht, mit dem bei allen Tabellen das selbe gemacht wird. Oder wenn zumindest immer an der selben Stelle steht, was mit dem Wert gemacht werden soll. Einen Text in eine Zahl um zu wandeln ist dabei kein Problem. Das sind aber die Grundfunktionen von Excel. Der Kolege sollte sich mal mit dem Programm beschäftigen. Das Programm mit dem man Texte (auch in Tabellen) bearbeitet heißt Word. Mit Excel macht man Tabellenkalkulation. Es gibt jede Menge Anleitungen für Excel.

Antwort 9 von Traumtaenzer

@Severine
In Ergänzung zu Günters Antwort bezüglich VBA und Textfeldern hier mal ein kleines Makro-Beispiel. Dabei geht es um zwei Textfelder (Index 1 und 2, wird fortlaufend von Excel vergeben) im aktuellen Arbeitsblatt. Aus dem ersten wird der gesamte Text gelesen und in Zelle A1 geschrieben. Aus dem zweiten Feld werden ab Zeichen Nr. 3 fünf Zeichen ausgelesen und in Zelle A2 geschrieben.


Sub Textfeld_auslesen()
    With ActiveSheet
        .Range("A1") = .Shapes(1).TextFrame.Characters.Text
        .Range("A2") = CDbl(.Shapes(2).TextFrame.Characters(3, 5).Text)
    End With
End Sub

(das CDbl ist hier nur drin als Beispiel für die Umwandlung einer Zahl mit Komma in eine "echte" Zahl, da in VBA nur der Punkt als Dezimalzeichen erlaubt ist)

Ist natürlich nur ein Ansatz, aber vielleicht hilft es dir weiter.

@Friedel
Bei welcher Gelegenheit fallen dir nur solche Kommentare ein?

> "Excel-Dokumente sind Dokumente, die aus lauter Zellen bestehen."
Eine etwas einseitige Betrachtung des Excel-Dateiformats. Noch nie Textfelder (und viele andere Sachen) in einem Arbeitsblatt gesehen? Nein - keine Zellen mit Text, sondern TEXTFELDER ;-)

> "Der Kolege sollte sich mal mit dem Programm beschäftigen."
Klingt sehr selbstgefällig. Täte dir aber vielleicht auch ganz gut...

> "Das Programm mit dem man Texte (auch in Tabellen) bearbeitet heißt Word."
Naja, besser wäre: "Ein Programm, mit dem ..."
Und auch in Word gibt es diese ominösen Textfelder... genau wie in Excel ;-)

> "Es gibt jede Menge Anleitungen für Excel."
Daß darauf noch keiner gekommen ist? ;-)

mfg, Traumtänzer

Antwort 10 von Traumtaenzer

Natürlich geht der umgekehrte Weg auch: aus einer Zelle etwas in ein Textfeld schreiben, z.B.

ActiveSheet.Shapes(3).TextFrame.Characters.Text = ActiveSheet.Range("A3")

mfg, Traumtänzer

Antwort 11 von Severine

Hallo Traumtänzer..

Merci für deine Anwort. Ich habe bisher leider noch nie mit Makros gearbeitet, doch ich werde deine Lösung ausprobieren. Besten Dank.. ab deinem Kommentar zu Friedel habe ich mich köstlich amüsiert.. grins..



Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: