Wie kann man in Excel Zeilen so formatieren, das wenn man eine Zahl in die Zeile eingibt, es automatisch berechnet wird?

4 Antworten

Also um es in ein Beispiel zu setzen, ich möchte das jede einzelne Zeile so formatiert ist, das sie zwar leer steht, aber wenn ich eine Zahl dort rein schreibe, sie automatisch mit einer Formel berechnet wird.

So etwas geht prinzipiell nicht. Entweder da ist eine Formel drin und wenn Du was reinschreibst ist die Formel überschrieben und weg - oder da ist nichts drin und wenn Du was anderes als eine Formel rein schreibts (Text oder Zahlen), dann wird daraus nie eine Formel. Und auch eine Formel kann keine Inhalte von Zellen ändern, weder den der eigenen Zelle noch den anderer Zellen (Ich empfehle sich den Unterschied von Inhalt einer Zelle und Präsentation desselben klar zu machen)

Daher: Wer Inhalte von Zellen automatisch ändern will, muss Makros programmieren.

Jetzt zu Deinem Problem: Schreib die Berechnungsfomel in ein separate Spalte neben die Spalte mit den Eingaben und alles ist gut.

Das lässt sich nur über ein VBA-Ereignismakro lösen. In etwa so:

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A1")) Is Nothing Then
On Error GoTo ErrorHandler
Application.EnableEvents = False
Target.Value = Target.Value * 10
ErrorHandler: Application.EnableEvents = True
End If
End Sub

Wenn Du Dich damit aber nicht auskennst, würde ich Dir das nicht empfehlen.

Woher ich das weiß:Berufserfahrung – IT-Administrator (i.R.)

Nein, das geht nicht ohne VBA. Es läuft auch der Idee von Spreadsheets zuwider.

W00dp3ckr  02.05.2023, 11:51

Du könntest beispielsweise hingehen, ein verstecktes Sheet nehmen, dort den originalwert speichern und den Anzeigewert dann live aus dem versteckten Sheet heraus berechnen. Das wäre einigermaßen stabil. Du müsstest nur bei Eingabe den Wert abfangen (onBlur, z.B.) und dann in das versteckte Sheet schreiben, sowie die Formel für die jeweilige Zelle neu setzen.

0

Natürlich kann eine Zelle nicht Eingabe und Ausgabe gleichzeitig sein.

Wäre ja auch sinnlos da ja dann die Zelle immer wieder mit 5 multipliziert würde (wie in deinem Beispiel) und endlos berechnen würde

W00dp3ckr  02.05.2023, 11:50

Du könntest beispielsweise hingehen, ein verstecktes Sheet nehmen, dort den originalwert speichern und den Anzeigewert dann live aus dem versteckten Sheet heraus berechnen. Das wäre einigermaßen stabil.

0