Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: 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
Anzeige

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 !
Anzeige
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
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige