Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
492to496
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
492to496
492to496
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

ja, wenn ich das wüßte !!!

ja, wenn ich das wüßte !!!
01.10.2004 15:22:39
Stephan
Hallo!
Mein Problem ist: ich möchte in einem Excel-Formular einen Wert dort eintragen, wo schon ein Wert steht und erreichen, daß der "alte" Wert mit dem "neuen" Wert addiert wird und dieser "addierte" Wert dann dort steht, wo zuvor der "alte" Wert gestanden hat.
Naja - zur Veranschaulichung vielleicht so: in einem "Kästchen" steht der Wert für "verkaufte Stückzahl" = 500. Jetzt möchteb ich an der Stelle, wo die "500" steht eine "10" (als Addition >) eingeben - und dann soll dort "510" stehen - geht das irgendwie?
Hilfe wäre sehr willkommen !!!
MfG
Stephan
AW: ja, wenn ich das wüßte !!!
01.10.2004 15:26:44
MRP
Hallo Stephan,
da fällt mir nur folgendes ein. Schreibe die 10 in eine andere Zelle, Strg+c und dann in die verkauftestückzahlzelle klicken Bearbeiten/Inhalte einfügen Häkchen bei Addieren.
Tja, wenn ich jetzt wüßste ob dir das hilft ;-)
Ciao
Manuele Rocco Parrino
AW: ja, wenn ich das wüßte !!!
Reinhard
Hi Stephan,
Die Zelle wo die 10 steht markeieren, Bearbeiten--Inhalteeinfügen--Werte--addieren
Geht auch mit Zellbereichen.
Gruß
Reinhard
AW: ja, wenn ich das wüßte !!!
01.10.2004 15:31:41
Matthias
In einer Zelle kann nicht gelichzeitig eine Formel und ein manuell eingegebener Text stehen, somit fällt eine 'einfache' Lösung weg.
Man könnte natürlich kontinuirlich überwachen welche Zelle gerade Aktiv ist, und wenn sich der Wert dieser Zelle ändert, dann diesen mit einem vorher gemerkten Wert addieren und erneut eintragen.
Der Aufwand das zu programmieren ist eher groß verglichen mit dem Ergebnis...
Matthias
Anzeige
Worksheet_Change - alter Wert + neuer Wert
Beate
Hallo Stephan,
füge folgenden Code (wirkt sich auf A1 aus) ins Codefenster der Tabelle:
Dim oldvalue As Double

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Address = "$A$1" Then
On Error GoTo fixit
Application.EnableEvents = False
Target.Value = 1 * Target.Value + oldvalue
oldvalue = Target.Value
fixit:
Application.EnableEvents = True
End If
End Sub

Ab dann wird in der Zelle der neue Wert bei Eingabe zum alten addiert.
Gruß,
Beate
AW: Worksheet_Change - alter Wert + neuer Wert
01.10.2004 20:25:15
Jens_Pu
Hallo Beate,
interessante Lösung. Funktioniert allerdings nur so lange die Exceldatei offen ist. Sobald sie gespeichert und wieder geöffnet wird, geht der alte Wert verloren.
Gruß Jens
Anzeige
AW: Worksheet_Change - alter Wert + neuer Wert
Ulf
In Workbook_Open den alten Wert in eine Variable lesen, die muss dann allerdings
in einem Modul stehen und Public sein.
Ulf
AW: Worksheet_Change - alter Wert + neuer Wert
Beate
Hallo Jens,
war mir noch nicht aufgefallen, weil ich es in der Praxis noch nicht benutzt habe.
Fehlerbehebung: Füge ins Codefenster "dieseArbeitsmappe" folgenden Code, dann speichern und schließen, ab dem nächsten Dateistart steht der alte Wert dann z.V.:

Private Sub Workbook_Open()
Worksheets("Tabelle1").Range("$a$1").Value = Worksheets("Tabelle1").Range("$a$1").Value
End Sub

Gruß,
Beate
AW: Worksheet_Change - alter Wert + neuer Wert
04.10.2004 11:29:03
Stephan
Hallo Beate,
herzlichen Dank für Deine Mühe, mir als absolutes "greenhorn" zu helfen. Und das genau ist mein Problem: Da ich mich erst seit wenigen Tagen mit den Möglichkeiten von Excel befasse, habe ich keine Ahnung, wie, resp. wo man diese Formel einträgt, so daß sie dann die entsprechende Berechnung in dieser Zelle vornimmt.
Wenn es nicht zu mühevoll ist - kannst Du mir als "blutigen" Anfänger kurz erklären, wie man eine solche Formel praktisch einfügt ...? :-))
Danke!!
Stephan
Anzeige
AW: Worksheet_Change - alter Wert + neuer Wert
Beate
Hallo Stephan,
aktiviere das Tabellenblatt, in dem du es geschehen lassen möchtest. Dann Tastenkombination Alt+F11 (gleichzeitig drücken. Den Code des Worksheet_Change Makros in der rechten Fensterhälfte (wo der Cursor blinkt) einfügen. Speichern.
Dann im Projektfenster (links) auf "dieseArbeitsmappe" der Datei doppelclicken. Wieder in die rechte Fensterhälfte wechseln. Dort das Worksheet_Open Makro reinkopieren. Speichern.
VBA schließen über Kreuz oben rechts. Datei schließen. Nach dem nächsten öffnen steht dir die Möglichkeit in Zelle A1 des ausgewählten Blattes zur Verfügung. Willst du, dass es sich in einer anderen Zelle auswirkt, Zellnamen in beiden Codes ändern.
Gruß,
Beate
Anzeige
AW: Worksheet_Change - alter Wert + neuer Wert
04.10.2004 22:58:08
Stephan
Hallo Beate,
zwar bin ich noch nicht dazu gekommen, Deinen Anweisungen zu folgen - aber ich habe das große Bedürfnis Dir mitzuteilen, daß ich über so viel Unterstützung zutiefts erfreut bin.
Ich habe nie damit gerechnet, daß eine fremde Person so viel Zeit und auch Engagement für solche Fragen wie die, die ich habe aufbringt (wobei ich gestehen muß, daß es das erste Mal ist, daß ich das Medium Internet in dieser Weise verwende).
Wenn ich könnte, würde ich Dir eine Blume als Dank schicken - so bleibt mir, Dir auf diesem Wege herzlich zu dbnken
Einen schönen Abend wünscht
Stephan
Anzeige
AW: Worksheet_Change - alter Wert + neuer Wert
05.10.2004 00:35:58
Stephan
Hallo Beate,
habe nun Deine Anweisungen befolgt, und den Codes Deines Makros (s.u.) eingetragen und gespeichert.
>

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
> If Target.Address = "$A$1" Then
> On Error GoTo fixit
>  Application.EnableEvents = False
>     Target.Value = 1 * Target.Value + oldvalue
>     oldvalue = Target.Value
> fixit:
>  Application.EnableEvents = True
> End If
> End Sub

Dann habe ich - wie von Dir geschrieben - diesen Code kopiert und bei "dieseArbeitsmappe" eingetragen.
Dann alles gespeichert - und es funktioniert!!! Die Ziffern, die ich in diese Zelle eintrage, werden addiert.
ABER - wenn ich die Tabelle gespeichert habe und dann wieder aufrufe, dann geht der alte Wert in der Zelle verloren und nur der "addierte" Wert bleibt. Danach aber kann wieder addiert werden.
Ich habe dann versuchsweise den zweiten Code von Dir, den Du auf den Hinweis von Jens hin geschrieben hattest in "dieseArbeitsmappe" eingetragen - leider ohne Erfolgt ... auch dann geht der "alte" Wert nach einem Neustart der Tabelle verloren :-((
Kannst Du mir vielleicht die Codes, die ich in die jeweilgen Stellen "Tabelle" und "dieseArbeitsmappe" eintragen muß noch einmal vollständig ("zum Abschreiben") mitteilen?
Wenn das zuviel verlangt ist: ich kann mir auch damit behelfen, daß ich nach einem Neustart der Tabellen die Zellen mit den dann dort vorhandenen Ziffern noch einmal (über)schreibe - danach kann ich ja die Zahlen wieder addieren!
Vielen Dank für Deine Geduld unf Deine Mühen !!
Stephan
Anzeige
AW: Worksheet_Change - alter Wert + neuer Wert
05.10.2004 01:26:24
Stephan
Hallo Beate,
versuche seit Stunden, mein Problem selbst zu lösen (hatte früher mal mit VB gearbeitet) - klappt aber leider nicht :-(((
Meine letzte Frage lautet: Wie muß der Code aussehen, wenn ich mehrere (!) Zellen einer Tabelle aufaddieren will?
So, jetzt Schluß für heute!
Gute Nacht
Stephan
Worksheet_Change - alter Wert + neuer Wert
Beate
Hallo Stephan,
Step by step:
-------------------------------------------------------------------------------------
füge folgenden Code (wirkt sich auf A1 aus) ins Codefenster der Tabelle:
Dim oldvalue As Double

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Address = "$A$1" Then
On Error GoTo fixit
Application.EnableEvents = False
Target.Value = 1 * Target.Value + oldvalue
oldvalue = Target.Value
fixit:
Application.EnableEvents = True
End If
End Sub

-----------------------------------------------------------------------------------
Füge ins Codefenster "dieseArbeitsmappe" folgenden Code, dann speichern und schließen, ab dem nächsten Dateistart steht der alte Wert dann z.V. (bei mir jedenfalls):

Private Sub Workbook_Open()
Worksheets("Tabelle1").Range("$A$1").Value = Worksheets("Tabelle1").Range("$A$1").Value
End Sub

Kopiere die Codes rüber sonst hast du nachher Fehler wegen scheinbarer (wegen Seitenbegrenzung hier) aber nicht existenter Zeilenumbrüche.
----------------------------------------------------------------------------------
Wenn du das ganze für Bereich/e, Spalte/n, Zeile/n gelten soll, musst du im Worksheet_Change Makro die If-Zeile ändern und im Workbook_Open den Range-Bereich an beiden Stellen anpassen.
Hier ein paar Beispiele:
Spalte B: If Target.Column = 2 Then
Für Spalte A:D und Zeile 1-9: If Target.Column Mehr Beispiele kannst du dir eigentlich bei anderen Worksheet_Change oder aber auch bei Worksheet_SelectionChange Makros angeln, wenn du hier im Forum suchst.
Ein Teil solcher Codes findest du hier unter Services/Die Excel-FAQ/Ereignis. Wenn du nicht klar kommst, schreib mal, auf welchen Bereich es sich bei dir auswirken soll oder lad eine Beispieldatei hoch.
Übrigens Danke für die Blumen.
Beate
Anzeige
AW: Worksheet_Change - alter Wert + neuer Wert
05.10.2004 12:41:44
Stephan
Liebe Beate,
ich bin total untröstlich !!! Ich habe alles so gemacht, wie Du es mir vorgegeben hast - habe auch die Codes kopiert und in meine Excel-Datei übertragen ---- ABER leider habe ich noch immer das Problem, daß bei einem Neustart und nach der Eingabe eine "neuen" Wertes erst einmal der in der Zelle vorhandene "alte" Wert nicht dazuaddiert wird...
Auch - und das hatte ich vergessen mitzuteilen - bekomme ich immer eine Fehlermeldung, wenn ich Excel neu starte.
Da ich ein schwedische-sprachiges Excel verwende, hier die Übersetzung der Fehlermeldung:
- Der Index liegt außerhalb des Intervalls - und wenn ich "Fehlersuche" anklicke, erscheint die Zeile
- Worksheets("Tabelle1").Range("$A$1").Value = Worksheets("Tabelle1").Range("$A$1").Value -
gelb hinterleuchtet ...?
Zu Deiner Info gebe ich Dir an, was bei mir links neben dem Fenster, in das ich die Eingaben vornehme, steht:
- VBAProjekt (Test)
- MicrosoftExcel -objekt
- -Blad1(Sep) --------------- (Tabellenblatt 1 mit dem Namen "Sep")
- - ThisWorkbook
Oberhalb des Eingabefensters steht links "Workbook" und rechts "open", aber erst, nachdem ich Deinen Code dort eingetragen habe.
WAS KANN DENN NUR DER GRUND DAFÜR SEIN, DASS ICH NICHT WEITER KOMME?
Liebe Grüße
Stephan
Anzeige
Worksheet_Change - alter Wert + neuer Wert
Beate
Hallo Stephan,
es ist wirklich sehr zeitaufwändig, das alles genau mit deinen Angaben gegenzuchecken.
Ich kann dir nur ausnahmsweise anbieten, dass du mir die Datei mailst (Beate_Schmitz60@web.de), wenn du sie hier nicht hochladen möchtest (event. Datenschutz) sonst besser hier hochladen.
Gruß,
Beate

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige