Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1480to1484
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
Inhaltsverzeichnis

Einfügen durch Erhöhung eines bestimmten Werts

Einfügen durch Erhöhung eines bestimmten Werts
22.03.2016 14:18:32
Pflaume
Hallo liebe Excelperten,
ich habe aus "Formen" eine Art Notizzettel erstellt, den der künftige User meiner Arbeitsmappe abarbeiten muss. In der Mappe gibt es eine Spalte, in der bestimmte Fehler vermerkt werden. Ich möchte, dass bei jeder Änderung, bzw. Erhöhung dieses Wertes mein "Notizzettel" aufgerufen wird. Hat dafür jemand eine Lösung?
Wäre echt super. Vielen Dank im Voraus
Gruß Pflaume

14
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Einfügen durch Erhöhung eines bestimmten Werts
22.03.2016 14:32:07
Fennek
Hallo,
das geht nur über die event des Sheets. Du prüfst, ohne in der bestimmten Spalte eine Änderung vorgenommen wurde. Für Spalte H wäre das
If intersect(target, columns("H") is not nothing then
Falls das neu für dichh sein sollte, gugle danach und stelle dann spezifische Fragen.
Mfg

AW: Einfügen durch Erhöhung eines bestimmten Werts
22.03.2016 14:36:31
Pflaume
Über deinen Befehl frage ich ab, ob ein Wert erhöht wurde oder? Wenn ja, "paste.notizzettel" oder so ähnlich stimmts? So müsste es doch irgendwie funktionieren oder?

AW: Einfügen durch Erhöhung eines bestimmten Werts
22.03.2016 15:05:00
Fennek
Hallo Pflaume,
Radio Erivan würde sagen "imPrinzip ja".
Wenn alle Bezüge stimmen, wird dein Problem gelöst.
Mfg

Anzeige
AW: Einfügen durch Erhöhung eines bestimmten Werts
22.03.2016 15:19:55
Pflaume
ich bräuchte die Funktion für die Zellen G17-G27. Allerdings bräuchte ich einen Code, der nicht abfrägt, ob was in der Zelle steht, sondern der arbeitet, sobald ein Wert erhöht wird.

AW: Einfügen durch Erhöhung eines bestimmten Werts
22.03.2016 15:35:33
UweD
Hallo
- rechtsclick auf den Tabellenblattreiter
- Code anzeigen
- Diesen Code reincopieren

Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo Fehler
Dim Tmp
If Not Intersect(Range("G17:G27"), Target) Is Nothing Then
If IsNumeric(Target) Then
Application.EnableEvents = False
Application.Undo
Tmp = Target.Value
Application.Undo
Application.EnableEvents = True
If Target.Value > Tmp Then
MsgBox "Wert erhöht von: " & Tmp
End If
Else
MsgBox "Nur Zahlen erlaubt"
Application.EnableEvents = False
Target.ClearContents
Target.Select
Application.EnableEvents = True
End If
End If
Fehler:
Application.EnableEvents = True
End Sub
Gruß UweD
über Rückmeldungen freue ich mich

Anzeige
AW: Einfügen durch Erhöhung eines bestimmten Werts
22.03.2016 15:45:46
Steve
Hüsch Uwe,
daran hatt' ich noch gar nicht gedacht, die Idee gefällt mir besser als einen Durchschlag zu führen.
lg Steve

AW: Einfügen durch Erhöhung eines bestimmten Werts
22.03.2016 15:39:06
Steve
Hallo Pflaume,
die Zeile "If Not intersect(target, columns("H") is nothing then" steht nicht dafür dass in den Zellen nichts ist. Aber fangen wir mal komplett von vorn an:
Eine Änderung des Wertes in einer Zelle löst ein Ereignis (von Excel vordefinierte Makros) aus. Diesem Makro wird der Bereich der geänderten Zelle(n) als Wert mit übergeben, das sogenannte Target.
Private Sub Worksheet_Change(ByVal Target As Range)
End Sub
Die Intersect()-Funktion bildet die Schnittmenge aus dem Target und deinem definierten Bereich (Range("G17:G27"). Ist diese leer so wurde keine der Zellen im Bereich geändert, das heist: tue nichts. Ansonsten (Schnittmenge ist nicht Nichts / Not ... Nothing) führe deinen in der Aufgabenstellung beschriebenen Ablauf aus.
Der Teufel steckt hierbei jedoch im Detail. Excel erkennt eine Änderung erst nach dem Eintragen des neuen Wertes, will heißen der ursprüngliche Wert ist nicht bekannt und damit kannst du nicht wissen ob es eine Erhöhung war. Sollte das für deine Aufgabe kein Problem darstellen, weil andere Änderungen ausgeschlossen sind, so kannst du dir recht einfach dein Makro basteln.
Können in deiner Mappe aber auch Änderungen geschehen, die keine Erhöhung sind und die Unterscheidung ist zwingend notwendig müsstest du sozusagen einen Durchschlag deines Blattes haben (Kopie) in welcher noch der alte Wert zum Vergleichen steht. Ist dein Ablauf fertig, so muss der neue Wert in die Kopie geschrieben werden.
Ich hoffe das war genug Anregung für jemanden mit Kenntnisstand Gut.
lg Steve

Anzeige
AW: Einfügen durch Erhöhung eines bestimmten Werts
22.03.2016 15:46:37
Fennek
Hallo,
falls der alte Wert benötigt wird:
Neu = target.value
Application.undo
Alt = target.value
Mfg

AW: Einfügen durch Erhöhung eines bestimmten Werts
22.03.2016 16:25:10
Pflaume
Hallo zusammen,
zuerst mal vielen Dank für eure Mühe und die Antworten aber ich fürchte, mit meinen VBA-Kenntnissen "gut" habe ich mich etwas überschätzt. Bislang konnte ich alle Codes, die ich in dem Forum erhalten habe einigermaßen nachvollziehen aber da steig ich irgendwie nicht durch. Wofür brauche ich die Messagebox? Dem künftigen User meiner Mappe ist klar, dass in den Zellen G17-G27 nur Zahlen eingetragen werden. Und diese Zahlen erhöhen sich auch immer nur um den Wert 1. Es geht um einen "Fehler", den der Mitarbeiter in diesen Zellen notieren soll. Könnte man den Code mit einer Summenformel vereinfachen, wenn man z.B. in G28 die Summe für G17-G27 darstellt und man die Änderung nur auf G28 bezieht?

Anzeige
AW: Einfügen durch Erhöhung eines bestimmten Werts
22.03.2016 16:37:32
UweD
Dann setze in G28=SUMME(G17:G27)
und änder den Code so ab

Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo Fehler
Dim Tmp
If Not Intersect(Range("G17:G27"), Target) Is Nothing Then
Application.EnableEvents = False
Application.Undo
Tmp = Range("G28").Value
Application.Undo
Application.EnableEvents = True
If Range("G28").Value = Tmp + 1 Then
MsgBox "Wert um 1 erhöht"
End If
End If
Fehler:
Application.EnableEvents = True
End Sub
Gruß UweD

AW: Einfügen durch Erhöhung eines bestimmten Werts
22.03.2016 16:43:16
Pflaume
Ok, vielen Dank nochmal. Ich werde es gleich morgen in der Arbeit testen. Habe von zu Hause aus leider keinen Zugriff aber ich melde mich dann nochmal bei euch. Gruß Pflaume

Anzeige
AW: Einfügen durch Erhöhung eines bestimmten Werts
25.03.2016 00:44:15
Pflaume
Hi Leute. Also wie schon geschrieben, haut das super hin. Aber ist das auch für Veränderungen von 1-10 möglich?
Gruß Pflaume

AW: Einfügen durch Erhöhung eines bestimmten Werts
23.03.2016 08:20:58
Pflaume
Hallo zusammen,
zuerst mal vielen Dank für eure Mühe und die Antworten aber ich fürchte, mit meinen VBA-Kenntnissen "gut" habe ich mich etwas überschätzt. Bislang konnte ich alle Codes, die ich in dem Forum erhalten habe einigermaßen nachvollziehen aber da steig ich irgendwie nicht durch. Wofür brauche ich die Messagebox? Dem künftigen User meiner Mappe ist klar, dass in den Zellen G17-G27 nur Zahlen eingetragen werden. Und diese Zahlen erhöhen sich auch immer nur um den Wert 1. Es geht um einen "Fehler", den der Mitarbeiter in diesen Zellen notieren soll. Könnte man den Code mit einer Summenformel vereinfachen, wenn man z.B. in G28 die Summe für G17-G27 darstellt und man die Änderung nur auf G28 bezieht?

Anzeige
AW: Einfügen durch Erhöhung eines bestimmten Werts
23.03.2016 21:44:13
Mario
Haut super hin! Einwandfrei! TOP! Vielen Dank!

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige