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

Makro starten beim Einfügen einer neuen Zeile

Makro starten beim Einfügen einer neuen Zeile
23.01.2024 17:58:57
Chris
Hallo Forum,

ich möchte im ActiveSheet bei Einfügen einer neuen Zeile zwei Formeln in die Spalten N und O der aktiven Reihe schreiben. P soll auf Inhalt ="" geprüft werden (da neue Zeile).

Excel stürzt bei folgendem Makro ab.

Hat jmd, eine Idee, wo der Fehler liegt?

Gruß
Chris



Private Sub Worksheet_Change(ByVal Target As Range)

With ActiveSheet

If .Cells(Target.Row, "P") = "" Then

.Cells(Target.Row, 1).Select
.Cells(ActiveCell.Row, 14).FormulaR1C1 = "=SUM(RC[-10]+RC[-8]+RC[-6]+RC[-4]+RC[-2])"
.Cells(ActiveCell.Row, 15).FormulaR1C1 = "=SUM(RC[-10]+RC[-8]+RC[-6]+RC[-4]+RC[-2])"
end if

End with

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro starten beim Einfügen einer neuen Zeile
23.01.2024 18:04:21
onur
Du solltest erst mal VERSTEHEN, was der Change_Event ist.
Alles, was im Change_Event-Makro steht, wird automatisch ausgeführt, wenn irgendwas auf der Seite geändert wurde.
Soll heissen: Du fügst Zeile hinzu - dein Makro ändert eine Zelle - somit wird das Change-Event wieder aufgerufen und ausgeführt - das Makro ändert eine Zelle - usw usw usw.
KLassische Endlosschleife !
AW: Makro starten beim Einfügen einer neuen Zeile
23.01.2024 18:56:30
Chis
Hallo onur,

danke für den Hinweis. Helis Lösung funktioniert! Gruß Chris
AW: Makro starten beim Einfügen einer neuen Zeile
23.01.2024 18:05:04
Heli
Hi,

schalte mal die Events aus bevor Du Eintragungen machst sonst landest Du in einer Endlosschleife:

Private Sub Worksheet_Change(ByVal Target As Range)


Application.EnableEvents = False

With ActiveSheet

If .Cells(Target.Row, "P") = "" Then

.Cells(Target.Row, 1).Select
.Cells(ActiveCell.Row, 14).FormulaR1C1 = "=SUM(RC[-10]+RC[-8]+RC[-6]+RC[-4]+RC[-2])"
.Cells(ActiveCell.Row, 15).FormulaR1C1 = "=SUM(RC[-10]+RC[-8]+RC[-6]+RC[-4]+RC[-2])"
end if

End with

Application.EnableEvents = True

End Sub


Ungetestet!

Servus, Heli
Anzeige
AW: Makro starten beim Einfügen einer neuen Zeile
23.01.2024 18:55:16
Chis
Danke Heli, das ist es. Gruß Chris

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige