Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1816to1820
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

Bei Zelländerung Wert übernehmen

Bei Zelländerung Wert übernehmen
04.03.2021 13:30:07
Aparilo
Hallo liebe VBA und Ex(cel)perten,
leider stoße ich mit folgendem Problem wieder an meine Grenzen und würde mich über eure Hilfe sehr freuen.
Im Worksheet Change Ereignis soll folgendes geprüft werden:
Je nach dem ob in Zelle E26 oder in E28 ein Wert eingetragen wurde, soll dieser Wert in die jeweils andere Zelle als aktueller Wert übernommen werden. Ich habe es jetzt mit mehreren Ansätzen versucht, aber entweder stürzt Excel komplett ab oder die Meldung "nicht genügend Stapelspeicher" erscheint.
Vielen Dank im Voraus für eure Unterstützung.

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Bei Zelländerung Wert übernehmen
04.03.2021 13:34:26
ChrisL
Hi
Deine Ansätze waren vermutlich richtig, aber du hast vergessen die Ereignisse zu deaktivieren.
Application.EnableEvents = False
' Code
Application.EnableEvents = True
Sonst landest du in einer Endlosschleife. Change Ereignis ändert Zelle und löst damit das Change Ereignis erneut aus usw.
cu
Chris

AW: Bei Zelländerung Wert übernehmen
04.03.2021 14:55:53
Aparilo
Hallo Chris,
danke für deine Antwort.
Die Application.EnableEvents Eigenschaft hatte ich eingebaut, aber es funktioniert trotzdem leider nicht. Bin ratlos :-(
VG
Stefan

AW: Bei Zelländerung Wert übernehmen
04.03.2021 15:49:57
ChrisL
Hi Stefan
Dann zeig mal deinen Code.
cu
Chris

Anzeige
AW: Bei Zelländerung Wert übernehmen
04.03.2021 16:51:09
Aparilo
Hallo Chris,
ich glaube ich habe es hinbekommen, es scheint zu funktionieren.
Vielleicht nicht der schönste Code, aber Hauptsache es läuft ;-)
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
If Target.Address = "$E$26" Then Range("E28") = Range("E26")
If Target.Address = "$E$28" Then Range("E26") = Range("E28")
Application.EnableEvents = True
End Sub
Vielleicht hast du ja noch einen Verbesserungsvorschlag, danke für deine Hilfe.
VG

AW: Bei Zelländerung Wert übernehmen
04.03.2021 17:29:57
ChrisL
Danke für die Rückmeldung.
So hätte ich es auch gemacht. Viel schöner geht es m.E. nicht.
cu
Chris

Anzeige
AW: Bei Zelländerung Wert übernehmen
04.03.2021 18:13:09
ChrisL
Hi
Was man noch optimieren/berücksichtigen könnte, wäre wenn mehrere Zellen gleichzeitig kopiert werden.
Zwar kannst du mit
If Not Intersect(Target, Range("E26")) Is Nothing Then...

arbeiten, aber wenn der Bereich E26 und E28 überschneidest, dann hast du das nächste Problem.
Somit würde ich eher eine einfache Exit-Bedingung einbauen (Achtung, vor EnableEvents einfügen)
If Target.Cells.Count > 1 Then Exit Sub
Unangenehm ist, wenn der Code aufgrund eines Fehlers abgebrochen wird, dann bleiben die Events deaktiviert. Insofern wäre in Zusammenhang mit EnableEvents immer auch ein Error-Handling zu empfehlen. Aber bei dem Zweizeiler ist die Gefahr eines unvorhergesehenen Errors äusserst gering und darum kannst du m.E. darauf verzichten.
cu
Chris

Anzeige
AW: Bei Zelländerung Wert übernehmen
05.03.2021 10:41:56
Aparilo
Hallo Chris,
vielen Dank für die Rückmeldung und deine hilfreichen Tipps.
Ich wünsche dir ein schönes Wochenende !!
VG
Stefan

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige