Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Gleiche Zelle addieren | Herbers Excel-Forum

Forumthread: Gleiche Zelle addieren

Gleiche Zelle addieren
22.01.2010 09:36:29
stefan

Hallo,
ich habe ein Problem mit dem Addieren und bin nicht sicher ob das gelöst werden kann. Vielleicht mit VBA. Täglich muss ich Daten dazu addieren die eine Gesammtsumme ergeben.
In Zelle A1 wir die Summe von B1 und C1 addiert. Der Wert B1 bleibt immer unverändert. Gibt es einen Weg, dass ich den Wert in C1 mit einem neue Wert überschreibe, die Summe sich in A1 um den neuen Wert erhöht, ohne die vorherige addition zu vergessen.
Die Tabelle hat 130 Zeilen, wo in jeder Zeile das gleiche abläuft.
Ich hoffe das ich meine Gedanken verständlich ausdrücken konnte.
Gruß
Stefan

Anzeige

22
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Gleiche Zelle addieren
22.01.2010 09:43:03
Mike
Hey Stefan,
aus 5 in A1, bestehend aus 4 in B1 sowie 1 in C1 soll nach neuem Wert 5 in C1 eine 10
werden und nicht eine 9?
Wie willst Du allenfalls die Berechnungen nachvollziehen?
Gruss
Mike
AW: Komentar nutzen
22.01.2010 10:18:15
dieter(drummer)
Hi Stefan und Mike,
ein Möglichkeit ist, in A1 die Änderung in einen Kommentar zu schreiben. So kann man den alten und den geänderten Zustand - durch Änderung in C1 - immer zeigen. Wenn das interessant ist, bitte im Forumsarchiv nach der VBA Lösung suchen.
Gruß
Dieter(Drummer)
Anzeige
AW: Gleiche Zelle addieren
22.01.2010 10:37:31
stefan
Hi Mike,
Das ist genau richtig.
Es handelt sich um Touenzahlen an Maschinen wo täglich die letzten 24h dazu addiert werden. Es gibt die Möglichkeit die Gesammttouren von den Maschinen zu bekommen, was jedoch, wenn ein Artikel in den nächsten Monat mit herein läuft, eine rechnerrei ist.
Danke und Gruß Stefan
Anzeige
AW: Gleiche Zelle addieren
22.01.2010 10:22:45
welga
Hallo Stefan,
schreibe folgendes in den code des Tabellenbalttes und passe ggfs. den Bereich an:
Sub worksheet_change(ByVal target As Range)
Dim i As Integer
If Not Intersect(target, Range("C1:C130")) Is Nothing Then
i = Cells(target.Row, 1).Value
Cells(target.Row, 1).Value = i + Cells(target.Row, 3).Value
End If
End Sub
Gruß
welga
Anzeige
AW: Gleiche Zelle addieren
22.01.2010 10:24:22
Hajo_Zi
Hallo Welga,
warum markierst Du Deine Beiträge häufug als offen?
Du hast doch eine Lösung vorgeschlagen, lasse doch den Fragesteller die Frage als offen kennzeichnen.

AW: Gleiche Zelle addieren
22.01.2010 10:35:15
dieter(drummer)
Hi Welga,
bei deiner VBA Lösung wird die Änderung in C1 in A1 hinzugezählt. Die Änderung kann man aber nicht mehr in A1 nachvollziehen, wenn man den vorherigen Wert in A1 sich nicht irgendwo gemerkt hat.
Hast Du dafür auch eine Lösung? Interessiert mich auch.
Gruß
Dieter(Drummer)
Anzeige
AW: Gleiche Zelle addieren
22.01.2010 12:34:57
welga
Hallo Dieter,
wenn du die Änderung nachvollziehen willst, also den alten Wert sehen willst,
dann schreibe ihn doch einfach in eine andere spalte
Sub worksheet_change(ByVal target As Range)
Dim i As Integer
If Not Intersect(target, Range("C1:C130")) Is Nothing Then
i = Cells(target.Row, 1).Value
cells(target.row,4).value=i
Cells(target.Row, 1).Value = i + Cells(target.Row, 3).Value
End If
End Sub

wenn du alle änderungen haben willst, geht das vllt so (ist aber ungetestet):
Sub worksheet_change(ByVal target As Range)
Dim i As Integer
Dim a As Long
If Not Intersect(target, Range("C1:C130")) Is Nothing Then
i = Cells(target.Row, 1).Value
a = Cells(target.Row, Columns.Count).End(xlToLeft).Column
If a = 256 Then
Range(Cells(target.Row, 4), Cells(target.Row, 256)).Select
Selection.ClearContents
a = 4
End If
Cells(target.Row, a + 1).Value = i
Cells(target.Row, 1).Value = i + Cells(target.Row, 3).Value
End If
End Sub

Anzeige
AW: Danke Welga ...
22.01.2010 16:14:02
dieter(drummer)
... das ist leider nicht meine Vorstellung. Trotzdem Danke für die Bemühung.
Hätte gerne die Möglichkeit, dass jede Änderung in C1 in A1 im Kommentar zu sehen ist.
Z. B. Alt in A1 = 3 (Summe von B1 + C1, Alt in B1 =2, Alt in C1 = 1.
Dies soll schon in A1 im Kommentar stehen (1 aus C1). Ändere ich C1 in 2, dann ist in A1 = 5 und im Kommentar A1 steht dann: z. B. 3 und darunter/daneben 2. Wäre noch bessere, wenn Änderungsdatum auch aufgeführt würde. Dies ist ein Wunsch.
Danke für's evtl. drum kümmern.
Gruß
Dieter(Drummer)
Anzeige
AW: Danke Welga ...
22.01.2010 16:36:52
welga
Hallo Dieter,
versuch es so:
Sub worksheet_change(ByVal target As Range)
Dim i As Integer
Dim a As Variant
Dim e As Integer
If Not Intersect(target, Range("C1:C130")) Is Nothing Then
i = Cells(target.Row, 1).Value
e = Cells(target.Row, 3).Value
On Error GoTo weiter
Cells(target.Row, 1).AddComment
weiter:
Cells(target.Row, 1).Comment.Visible = False
a = Cells(target.Row, 1).Comment.Text
If a = "" Then Cells(target.Row, 1).Comment.Text Text:="Ausgangswert: 0" & Chr(10) & " _
Addierter Wert: " & e
Cells(target.Row, 1).Comment.Text Text:=a & Chr(10) & "Ausgangswert: " & i & Chr(10) & " _
Addierter Wert: " & e
Cells(target.Row, 1).Value = i + Cells(target.Row, 3).Value
End If
End Sub
Jedoch weiß ich nicht, wie man das Kommentarfeld in der Größe anpasst.
Gruß
welga
Anzeige
AW: Kompilierungsfehler ...
22.01.2010 16:48:43
dieter(drummer)
Hi Welga,
Danke für weitere Hilfe. Makro bricht mit Kompilierungsfehler in:

If a = "" Then Cells(target.Row, 1).Comment.Text Text:="Ausgangswert: 0" & Chr(10) & " _
Addierter Wert: " & e

ab.
Habe Makro in Tabelle 1 kopiert. Kannst Du noch helfen?
Gruß
Dieter(drummer)
Anzeige
AW: mal einfach
22.01.2010 17:54:08
hary
Hallo Dieter
Teste das mal, gilt nur fuer aenderung in Zelle A1.

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$1" Then  'hier nur bei Zelle A1
If Target.Comment Is Nothing Then 'wenn kein Kommentar vorhanden
Target.AddComment    'erstelle einen Kommentar
Target.Comment.Text Target.Comment.Text & Target.Value & " geändert am  " & Date ' _
schreibe Inhalt aus Zelle A1 in Kommentar
Else  'wenn Kommentar vorhanden
Target.Comment.Text Target.Comment.Text & Chr(10) & Target.Value & " geändert am  " &  _
Date 'alter Inhalt und neuer Inhalt Zelle A1
Target.Comment.Shape.Height = Target.Comment.Shape.Height + 10 ' Höhe des Feldes!!  _
etwas rumprobieren
End If
End If
End Sub
gruss hary

Anzeige
AW: Hervorragend Hary
22.01.2010 18:15:16
dieter(drummer)
Klappt prima bei Eingaben in Zelle A1. Braucht ja nur noch Änderung in Zelle C1 in Kommentar in A1 eingefügt zu werden.
Danke erstmal für dein Makro. Muss jetzt wohl zu meiner Bandprobe und gebe morgen Rückmeldung, solltest Du noch etwas ändern.
Gruß
Dieter(Drummer)
AW: @Hary
23.01.2010 13:17:33
dieter(drummer)
Hi Hary,
nun habe ich mir das Makro mal genauer ansehen können. Es funktioniert prima. Wenn jetz noch die Möglichkeit geht, dass Änderungen in A1 additiv der vorherigen Zahl hinzugefügt werden und dieses auch im Kommentar dokumentiert wird, ist alles perfekt und ich kann es anderweitig auch noch verwenden und auf meine Belange anpassen.
Danke fürs evtl. noch anpassen.
Gruß
Dieter(Drummer)
Anzeige
AW: frage
23.01.2010 13:49:02
hary
hallo Dieter
war gestern auf Party. So ganz klappt's bei mir oben noch nicht. Gibt mir mal ein praktisches Beispiel.
Musst Dich aber beeilen in 5 Std geht's zur naechsten. Dann ist der Sonntag gelaufen ;-)
gruss hary
AW: Beispiel
23.01.2010 14:16:21
dieter(drummer)
Hi Hary,
auch feiern muss sein! Hier ein Beispiel:
In A1 steht die Zahl 1 und die Eingabe geht lt. deinem Makro in den Kommentar in A1. Nun gibt man in A1 eine 2 ein und der Wert vorher 1 und dann die Neueingabe 2 ergibt 3 in A1. Die Neueingabe 2 soll auch als 2 Eingabe in Kommentar ersichtlich sein, so:
1 geändert am 23.01.2010
2 geändert am 23.01.2010
....
In Zelle A1 steht dann eine 3. Uhrzeiteingabe wäre noch prima und muss aber nicht sein.Die Sache eilt nicht. Feiern geht vor und ist ein Muss. Viel Spaß.
Gruß
Dieter(drummer)
Anzeige
AW: Beispiel
23.01.2010 16:10:55
hary
Hallo Dieter
Also in Zelle A1 zusammenzaehlengeht nicht, da dann das Change Ereigniss ausgeloest wird.
Hab's mal so geloest: Mit Hilfszelle IV1.Traegst in A1 eine Zahl ein, Kommentar wird erstellt Ergebniss in C1.
pruefen ob Nummer in A1 eingetragen ist, noch nicht drin.
Zellen als hh:mm formatieren, dann gehts auch mit Uhrzeit.

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Address = "$A$1" Then  'hier nur bei Zelle A1
If Target.Comment Is Nothing Then 'wenn kein Kommentar vorhanden
Target.AddComment    'erstelle einen Kommentar
Target.Comment.Text Target.Comment.Text & Format(Target.Value, "hh:mm") & " geä _
ndert am  " & Date 'schreibe Inhalt aus Zelle A1 in Kommentar
Target.Comment.Visible = False
Cells(1, 3) = Target.Value + Range("IV1").Value
Else  'wenn Kommentar vorhanden
Target.Comment.Text Target.Comment.Text & Chr(10) & Format(Target.Value, "hh:mm") &  _
" geändert am  " & Date 'alter Inhalt und neuer Inhalt Zelle A1
Target.Comment.Shape.Height = Target.Comment.Shape.Height + 10 ' Höhe des Feldes!!  _
etwas rumprobieren
Target.Comment.Visible = False
Cells(1, 3) = Target.Value + Range("IV1").Value ' zählt in C3 zusammen
End If
Range("IV1") = ""
End If
End Sub
'----- auslagern des Wertes A1 nach IV1 ----------------
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
If Target.Address = "$A$1" Then
Range("IV1").Value = Target.Value
End If
End Sub

gruss hary
Anzeige
AW: Beispiel
23.01.2010 16:22:26
Hajo_Zi
Hallo harry,
change kann ma abschalten mit
Application.EnableEvents = False
nur nicht vergesen wieder einzuschalten.

AW: Danke Hary und Danke Hajo_Zi
23.01.2010 16:32:13
dieter(drummer)
Hi Hary,
Danke für schnelle Hilfe und vile Spaß bei der Feier. Werde es morgen mal angehen und mich melden, muss jetzt auch weg.
Dank auch an Hajo_Zi für Info.
Gruß
Dieter(Drummer)
Anzeige
AW: Fehler beim Kompilieren- Syntaxfehler
24.01.2010 13:21:29
dieter(drummer)
Hi Hary,
hoffe Du hattest eine tolle Feier.
Dein letztes Makro bricht ab mit "Fehler beim Kompilieren - Sytnaxfehler" in Zeilen:

Target.Comment.Text Target.Comment.Text & Format(Target.Value, "hh:mm") & " geä _
ndert am  " & Date 'schreibe Inhalt aus Zelle A1 in Kommentar
Fehler taucht auf, sobald ich Zelle A1 aktiviere.
Die Sache hat KEINE Eile.
Gruß
Dieter(Drummer)
Anzeige
AW: Fehler beim Kompilieren- Syntaxfehler
24.01.2010 13:33:51
hary
Hallo Dieter
Habe Minenarbeiter im Kopf ;-))
Also hier kommt ken Fehler, kann ich jeden Falls nicht nachvollziehen.
https://www.herber.de/bbs/user/67444.xls
gruss hary
AW: Danke Hary, es funktioniert
24.01.2010 15:50:55
dieter(drummer)
Hi Hary,
deine Datei funktioniert. Muss wohl beim kopieren deines Makros einen Fehler gemacht haben.
Danke nochmal und einen Gruß an die Minenarbeiter im Kopf, sie sollen leise hämmern ;-)). So geht es mir nach einem Bandauftritt.
Gruß und noch einen erholsamen Sonntag.
Dieter(Drummer)
Anzeige
AW: Gleiche Zelle addieren
22.01.2010 11:27:23
stefan
Hi Welga,
vielen Dank für die Hilfe es klappt... Super
Gruß
Stefan
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Infobox / Tutorial

Gleiche Zelle addieren in Excel


Schritt-für-Schritt-Anleitung

  1. Öffne Excel und lade deine Tabelle.
  2. Aktiviere die Entwicklertools: Gehe zu Datei > Optionen > Menüband anpassen und aktiviere das Häkchen bei "Entwicklertools".
  3. Füge den VBA-Code ein:
    • Klicke auf Entwicklertools > Visual Basic.
    • Wähle das passende Arbeitsblatt (z.B. Tabelle1).
    • Füge den folgenden Code in das Codefenster ein:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("C1:C130")) Is Nothing Then
        Dim i As Integer
        i = Cells(Target.Row, 1).Value
        Cells(Target.Row, 1).Value = i + Cells(Target.Row, 3).Value
    End If
End Sub
  1. Schließe den VBA-Editor und kehre zu deiner Excel-Tabelle zurück.
  2. Teste die Funktion: Gib einen neuen Wert in C1 ein und beobachte, wie A1 automatisch aktualisiert wird.

Häufige Fehler und Lösungen

  • Fehler: Kompilierungsfehler:

    • Stelle sicher, dass der Code korrekt kopiert wurde und alle Variablen deklariert sind. Achte auf Syntaxfehler wie fehlende Zeichen.
  • Problem: Werte in A1 werden nicht addiert:

    • Überprüfe, ob die Zellen B1 und C1 wirklich die gewünschten Werte enthalten. Achte darauf, dass die Zellen nicht leer sind.
  • Änderungen werden nicht angezeigt:

    • Stelle sicher, dass die Ereignisse in Excel nicht deaktiviert sind. Du kannst dies mit Application.EnableEvents = True aktivieren.

Alternative Methoden

Falls du keine VBA-Lösungen verwenden möchtest, kannst du auch folgende Methoden nutzen:

  • Verwendung von Formeln:

    • In A1 könntest du eine Formel wie =B1+C1 verwenden. Beachte jedoch, dass diese Methode nicht die Historie der Veränderungen speichert.
  • Manuelle Eingabe:

    • Du kannst die Werte manuell in A1 addieren. Diese Methode ist jedoch fehleranfällig und zeitaufwendig.

Praktische Beispiele

  • Beispiel 1: Du hast in B1 einen Wert von 5 und in C1 einen Wert von 3. Nach der Eingabe von 3 in C1 wird A1 automatisch auf 8 aktualisiert.

  • Beispiel 2: Wenn du täglich Änderungen vornimmst, kannst du in A1 die Gesamtsumme aus den letzten 24 Stunden addieren, indem du immer die gleiche Zelle (C1) verwendest.


Tipps für Profis

  • Nutze Kommentare in deinen Zellen, um die Historie der Änderungen zu dokumentieren. Füge in deinem VBA-Code eine Funktion hinzu, die bei jeder Änderung den alten Wert in einen Kommentar schreibt.

  • Verwende Datenvalidierung in C1, um sicherzustellen, dass nur gültige Werte eingegeben werden.

  • Experimentiere mit Benutzereingaben über Formulare, um die Eingabe in C1 zu steuern, falls du mehrere Benutzer hast.


FAQ: Häufige Fragen

1. Wie kann ich sicherstellen, dass die Summe immer aktuell ist?
Verwende den VBA-Code, um Änderungen in C1 automatisch in A1 zu addieren, und speichere die Historie der Veränderungen in Kommentaren.

2. Was passiert, wenn ich die Werte in B1 ändere?
B1 bleibt unverändert, da die Formel und der VBA-Code nur C1 berücksichtigen, um sicherzustellen, dass die bisherigen Werte in A1 nicht verloren gehen.

3. Kann ich diesen Prozess auch für andere Zellen anwenden?
Ja, passe einfach die Range im VBA-Code an, um andere Zellen zu berücksichtigen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige