Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Anzeige
Inhaltsverzeichnis

worksheet_change Prozedur zu groß

Forumthread: worksheet_change Prozedur zu groß

worksheet_change Prozedur zu groß
20.03.2019 11:35:44
Michel
Hallo zusammen,
ich hab das Problem bei worksheet Change das die Prozedur zu groß ist.
Mit der Prozedur möchte ich das nur ausgewählte Zellen berechnet werden,
da sehr viele Formeln in dem Blatt stehen.
Gibt es für mein Vorhaben auch einen anderen Code bei dem die Prozedur nicht meckert?
Anbei der Code:
Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Address = ("$P$6") Then Range("O6,AD5:AF5,AD6:BD6").calculate
If Target.Address = ("$P$7") Then Range("O7,AD5:AF5,AD7:BD7").calculate
If Target.Address = ("$P$8") Then Range("O8,AD5:AF5,AD8:BD8").calculate
If Target.Address = ("$P$9") Then Range("O9,AD5:AF5,AD9:BD9").calculate
If Target.Address = ("$P$10") Then Range("O10,AD5:AF5,AD10:BD10").calculate
If Target.Address = ("$P$11") Then Range("O11,AD5:AF5,AD11:BD11").calculate
If Target.Address = ("$P$12") Then Range("O12,AD5:AF5,AD12:BD12").calculate
If Target.Address = ("$P$13") Then Range("O13,AD5:AF5,AD13:BD13").calculate
End Sub

Das ganze geht dann bis Zeile 2000 und das will Excel nicht
Danke schon mal
Gruß
Michel
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: worksheet_change Prozedur zu groß
20.03.2019 12:04:59
Sulprobil
Hallo Michel,
Was Du da machst, geht (fast) mit einer Zeile.
Google doch mal nach Beispielen, die Intersect und Offset verwenden.
Für guten Stil dann noch EnableEvents = False am Anfang und = True am Ende.
Aber: Wozu soll dies bitte gut sein? Ich würde meine Anwendung so nie gestalten, dass so etwas nötig oder sinnvoll wäre.
Viele Grüße,
Bernd
Anzeige
AW: worksheet_change Prozedur zu groß
20.03.2019 13:43:21
Michel
Hallo Bernd,
Dankeschön!
Ja ich geb dir völlig recht leider hab ich keine andere Wahl als mit Excel Unmengen von Datensätzen per Sverweis und Wenn Dann usw. zu bearbeiten.
Die Datei hat mittlerweile auch über 20MB weil sehr viele Makros hat und von anderen Systemen Excel Listen generiert werden die 80000 Zeilen haben die ich in meiner Datei verarbeiten muß.
Und wenn ich jetzt in der Liste was rechnen will dann dauert es 2 Minuten bis alles berechnet wurde.
danke!
Gruß
Michel
Anzeige
AW: worksheet_change Prozedur zu groß
20.03.2019 12:31:25
Daniel
Hi
was Bernd meint:
if Target.Column = 16 And Target.Row >=6 Then
Union(Target.Offset(0, -1), Range("AD5:AF5"), Intersect(Range("AD:BD"),Target.EntireRow)). _
Calculate
End if

damit deckst du alle Zeilen ab.
Gruß Daniel
AW: worksheet_change Prozedur zu groß
20.03.2019 13:49:01
Michel
Hallo Daniel,
besten Dank!!!
Funktioniert einwandfrei, danke.
Gruß
Michel
Anzeige

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige