Frage von roentgen44, 124

Wer kennt sich aus mit Excel?

Hallo zusammen,

bin auf der Suche nach einem MS Excel Genie. Bin gerade damit beschäftigt eine Haushaltsbilanz in Excelform zu erstellen. Ist es möglich eine Zelle so zu programmieren, also mit einer Formel versehen, dass ich einen Betrag eintippe, eine Taste drücke, den nächsten Wert eingebe usw, und Excel mir das addiert? Weiter soll es beim erneuten öffnen und eintragen einfach wieder auf den bereits bestehenden Betrag aufaddiert werden.

Besten Dank im Voraus!

Expertenantwort
von Oubyi, Community-Experte für Excel, 17

Das geht nur über VBA, und zwar so:

Mach mal einen Rechtsklick auf den Tabellenreiter (unten, da wo z.B. Tabelle1 steht) und gehe dann auf "Code anzeigen...".
In das große Fenster des VBA-Editors, der sich dann öffnet kopierst Du folgenden Code:

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A1")) Is Nothing Then
Range("B1").Value = Range("B1").Value + Range("A1").Value
Range("A1").Select
End If
End Sub


Die Datei musst Du danach aber als .xlsm speichern, und Makros zulassen.
Jetzt wird jeder Wert, den Du in A1 eintippst zu dem Wert in B1 addiert.

Klappt es?

Kommentar von roentgen44 ,

JA!!! Genau so habe ich mir das vorgestellt! Besten Dank!

Kommentar von roentgen44 ,

Allerdings schon wieder die nächste Frage. Wenn ich das nun zweimal hintereinander machen will. Also alles was ich in A1 eingebe addiert sich zum Ergebnis in B1. Und sagen wir alles was ich in A2 eingebe soll in B2 aufaddiert werden. Wie geht das denn?

Kommentar von Oubyi ,

Das lässt sich zwar auch eleganter regeln, aber damit Du das selber besser anpassen/ erweitern kannst, mache es "einfach" so:

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A1")) Is Nothing Then
Range("B1").Value = Range("B1").Value + Range("A1").Value
Range("A1").Select
End If
If Not Intersect(Target, Range("A2")) Is Nothing Then
Range("B2").Value = Range("B2").Value + Range("A2").Value
Range("A2").Select
End If
End Sub
Expertenantwort
von DeeDee07, Community-Experte für Excel, 31

Wenn du es in einer Zelle aufaddieren willst, schmeißt du alle Vorteile von Excel weg. Du kannst nicht mehr sehen, was du eingetippt hast. Für dein Vorhaben gibt es übrigens schon Hard- und Software. Nennt sich Taschenrechner.

In Excel wirst du das nur mit einer Formel nicht umsetzen können, dafür brauchst du schon ein Makro.

Antwort
von Funfroc, 21

Hallo, ich nehme an, dass es über ein VBA-Makro durchaus möglich ist. Schätze, dass da ein Worksheet_Change Ereignis zugrunde liegen dürfte. Ich bin selbst in VBA-Sachen aber nur mäßig firm, daher würde ich dir empfehlen, so eine Frage bei den Spezis in den entsprechenden Foren zu stellen herber.de oder office-loesung.de mal als Beispiel. LG, Chris

Antwort
von klugshicer, 64

Für das was Du vor hast, ist Excel eigentlich das falsche Programm.

Man könnte zwar eine Formel in eine Zelle eingeben, die anhand einer Wenn-Funktion eine Berechnung anstellt oder eben nichts tut wenn ein bestimmtes Feld leer ist.

Aber du müstest die darunter liegenden Felder ständig über ein Autoausfüllen erweitern - so dass diese Methode nur begrenzt für deine Zwecke tauglich ist.

Ich würde das Problem mit Access lösen und die Buchungsdaten über ein Formular in eine Datenbank schreiben. Für die Auswertung würde ich dann über Abfragen generieren, die ich als Datenbasis für die Monatsberichte verwenden würde.

Kommentar von Vollhorst123 ,

Wenn es einfach Aufgaben sind, dann reicht sicherlich irgendwie die Angebote von Windows aus ( Excel ). Wer beruflich speziell damit zu tun hat bzw es komplexer ist, wird eh ein anderes Programm nutzen, aber dazu bräuchte man dann ein tiefere Einführung

Antwort
von BigBen38, 57

Mit Enter springst Du eh un die nächste Zelle unter der vorherigen.

Das Addieren ist auch kein Problem, lediglich wäre eine aufwändige Verschachtelung nötig, falls Du die jeweilige Endsumme immer direkt unter dem letzten Wert stehen haben möchtest.

Soll die Endsumme hingegen auf einem bestimmten Feld stehen, ist es leicht.

Zb Spalte A trägst Du alle Summen untereinander ein und willst das Ergebnis in B1 - dann lautet die Formel in B1: =SUMME(A1:A20000)

WENN du verhindern willst, das andere Spalten als A beschrieben werden können, kannst Du die Spalte A Freistellen und alle anderen sperren.

Kommentar von roentgen44 ,

Danke, ja das ist mir ja alles bekannt. Ich will nicht eine Zeile oder Spalte verwenden sondern nur eine ZELLE! Also wie so ein kaufmännischer Taschenrechner. Ich geb Wert 1 ein, drück bestimmte Taste, geb Wert 2 ein (alles in einer Zelle) und habe dann die Summe von beiden dortstehen (Wert 3). Beim erneuten öffnen klick ich in die Zelle und das Spiel beginnt mit Wert 3...

Kommentar von klugshicer ,

Das geht nicht

Kommentar von Oubyi ,

Das geht nicht

Und ob!

Kommentar von BigBen38 ,

Wo soll er die Werte denn herholen? 
EXCEL kannn die ja nicht im Nirwana speichern...sorry - da sehe ich keinen Weg...

Evtl kann man tricksen indem Excel die Eingabewerte in einer zweiten Tabelle speichert ...aber da bin ich auch überfragt mit welcher Formel das gehen könnte.

Kommentar von roentgen44 ,

Okay, ja klingt logisch. Dacht vielleicht kann Excel den einen Wert in einen Zwischenspeicher schieben während man einen neuen Wert eingibt und dann addiert. Die zwei einzelnen Werte wären dann verloren und man hat nur noch die Summe. Aber das wäre mir ja egal. Aber danke für den Tipp mit Access. Werd mich da mal bisschen einlesen.

Kommentar von klugshicer ,

Aber Kauf dir bloß nicht das Buch "Access für Dummies" das ist nämlich nicht für Dummies geschrieben sondern von Dummies.

Für deinen Zweck sollte eine einfache Datenbank mit Spalten für Primärschlüssel, Buchungsdatum, Soll-Betrag und Haben-Betrag ausreichen.

Wenn Du eine Zeilenweise Auswertung (wie in einem Bankauszug) benötigst wäre es schlau einen Bericht zu erstellen, der die jeweiligen Zwischenstände per VBA errechnet.

Ansonsten dürfte eine Datenbankabfrage reichen, deren Ergebnisse in einem Bericht angezeigt werden.

Antwort
von Vollhorst123, 64

Ja, es ist möglich Formeln in die zeilen einzugeben. Bin da aber ne Weile raus bzw habe ich kaum damit zu tun, daher kann ich dir da nicht weiterhelfen, aber weiß eben, dass da ne Menge möglich ist, die Arbeiten/ eingaben sich zu erleichtern....


Kommentar von Vollhorst123 ,

Lass es dir am besten am PC zeigen. Learning by doing :)

Antwort
von dkilli, 14

Keine passende Antwort gefunden?

Fragen Sie die Community