Excel Zelle nach Eingabe leeren?

3 Antworten

Du hast ja schon 2 VBA-Lösungen bekommen. Es gibt noch eine weitere Möglichkeit, wenn du Iteration auf 1 stellst und Neuberechnung auf Manuell, empfehle ich aber nicht und beschreibe das jetzt auch nicht näher. (empfehle ich deshalb nicht, weil man diesen Modus nicht dauerhaft durchhält, er gilt nämlich für Gesamt-xl. Hab das auch nicht mehr genau parat)

Wenn Du mit zwei Tastendrücken mehr pro Eingabe zufrieden bist, dann mach es so: Erste Eingabe ++Zahl (Zahl kann auch 0 sein. xl macht draus =+Zahl) oder =Zahl

weitere Eingaben: F2(schaltet in den Edit-Modus und setzt Cursor ans Ende aller bisherigen Zell-Einträge), also F2;+Zahl(oder -Zahl), Enter. Die Zahl wird mit + oder - angehängt.

Hat den Vorteil, dass du die Eingaben rekonstruieren kannst (man gibt ja so leicht was doppelt ein oder vergisst was!) In der Zelle steht dann zB:

=0+22+33+16-9-3,5+1/4-2^4+3*7-(55-40)-Cos(Pi()/4)

Du kannst also auch Summanden errechnen lassen (Cos(Pi()/4) als Summand macht natürlich selten Sinn, ist nur Beispiel dafür, wieviel da möglich ist). Nur: natürlich F2 nicht vergessen, sonst überschreibt die Neueingabe alles alte. (ggf Rückgängig machen

mit vba ja mit excel selber kenn ich keine lösung vielleicht @suboptimierer

und auch dann musst du den zwischenstatus irgendwo speichern außer im laufbetrieb

Woher ich das weiß:Studium / Ausbildung – Abgeschlossene Ausbildung

Ohne VBA ist das schwierig.

in VBA sähe es so in etwa aus:

Private Sub Worksheet_Change(ByVal Target As Range)
  If Target.Address = "$A$7" And IsNumeric(Target) Then _
    Range("A1").Value = Range("A1").Value + Target.Value
End Sub

Damit wird der Wert in A1 erhöht, sobald du eine Zahl in A7 eingegeben hast.

Woher ich das weiß:Studium / Ausbildung – Mathematik
Suboptimierer  14.10.2019, 11:04

Auf dieselbe Zelle wirkend sähe es so aus:

Public dMerk As Double
Private Sub Worksheet_Change(ByVal Target As Range)
  If Target.Address = "$A$7" And IsNumeric(Target) Then
    Application.EnableEvents = False
    On Error Resume Next
    Range("A7").Value = dMerk + Target.Value
    dMerk = Range("A7").Value
    Application.EnableEvents = True
    On Error GoTo 0
  End If
End Sub
2