Betrifft: Gleiche Zelle addieren
von: stefan
Geschrieben am: 22.01.2010 09:36:29
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
Betrifft: AW: Gleiche Zelle addieren
von: Mike
Geschrieben am: 22.01.2010 09:43:03
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
Betrifft: AW: Komentar nutzen
von: dieter(drummer)
Geschrieben am: 22.01.2010 10:18:15
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)
Betrifft: AW: Gleiche Zelle addieren
von: stefan
Geschrieben am: 22.01.2010 10:37:31
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
Betrifft: AW: Gleiche Zelle addieren
von: welga
Geschrieben am: 22.01.2010 10:22:45
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 SubGruß
Betrifft: AW: Gleiche Zelle addieren
von: Hajo_Zi
Geschrieben am: 22.01.2010 10:24:22
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.
Betrifft: AW: Gleiche Zelle addieren
von: dieter(drummer)
Geschrieben am: 22.01.2010 10:35:15
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)
Betrifft: AW: Gleiche Zelle addieren
von: welga
Geschrieben am: 22.01.2010 12:34:57
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
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
Betrifft: AW: Danke Welga ...
von: dieter(drummer)
Geschrieben am: 22.01.2010 16:14:02
... 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)
Betrifft: AW: Danke Welga ...
von: welga
Geschrieben am: 22.01.2010 16:36:52
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 SubJedoch weiß ich nicht, wie man das Kommentarfeld in der Größe anpasst.
Betrifft: AW: Kompilierungsfehler ...
von: dieter(drummer)
Geschrieben am: 22.01.2010 16:48:43
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
Betrifft: AW: mal einfach
von: hary
Geschrieben am: 22.01.2010 17:54:08
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
Betrifft: AW: Hervorragend Hary von: dieter(drummer)
Geschrieben am: 22.01.2010 18:15:16
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)
Betrifft: AW: @Hary von: dieter(drummer)
Geschrieben am: 23.01.2010 13:17:33
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)
Betrifft: AW: frage von: hary
Geschrieben am: 23.01.2010 13:49:02
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
Betrifft: AW: Beispiel von: dieter(drummer)
Geschrieben am: 23.01.2010 14:16:21
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)
Betrifft: AW: Beispiel von: hary
Geschrieben am: 23.01.2010 16:10:55
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
Betrifft: AW: Beispiel von: Hajo_Zi
Geschrieben am: 23.01.2010 16:22:26
Hallo harry,
change kann ma abschalten mit
Application.EnableEvents = False
nur nicht vergesen wieder einzuschalten.
![]()
Betrifft: AW: Danke Hary und Danke Hajo_Zi von: dieter(drummer)
Geschrieben am: 23.01.2010 16:32:13
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)
Betrifft: AW: Fehler beim Kompilieren- Syntaxfehler von: dieter(drummer)
Geschrieben am: 24.01.2010 13:21:29
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 KommentarFehler taucht auf, sobald ich Zelle A1 aktiviere.
Die Sache hat KEINE Eile.
Gruß
Dieter(Drummer)
Betrifft: AW: Fehler beim Kompilieren- Syntaxfehler von: hary
Geschrieben am: 24.01.2010 13:33:51
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
Betrifft: AW: Danke Hary, es funktioniert von: dieter(drummer)
Geschrieben am: 24.01.2010 15:50:55
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)
Betrifft: AW: Gleiche Zelle addieren von: stefan
Geschrieben am: 22.01.2010 11:27:23
Hi Welga,
vielen Dank für die Hilfe es klappt... Super
Gruß
Stefan
Beiträge aus den Excel-Beispielen zum Thema "Gleiche Zelle addieren"