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

VBA - Formeln einfügen beschleunigen

VBA - Formeln einfügen beschleunigen
23.09.2021 21:54:39
Manuel
Hallo zusammen,
ich versuche gerade diverse ältere Makros zu beschleunigen, die Standard Beschleuniger (Application.ScreenUpdating = False und Application.Calculation = xlCalculationManual) habe ich bereits ergänzt.
Jetzt sitze ich vor einem Makro, welches auf folgende Art extremst viele Formeln einfügt.

'Absatz Alt
With wsNLSim.Range(Cells(ErsteZeileNLSimAL, SpalteAbsatzALTSt), Cells(letzteZeileNLSim, SpalteAbsatzALTSt))
.FormulaR1C1 = "=IFERROR(VLOOKUP(RC4,'1. Query Pricing'!C4:C22,13,FALSE)/'1. Query Pricing'!R4C3*12,0)"
.Formula = .Value
.NumberFormat = "#,##0"
End With
Die Datei hat 64 Spalten und je nach Kunde zwischen 500 und ca. 10.000 Zeilen. In ca. 35 Spalten werden auf genannte Weise Formeln eingefügt. Teilweise bleiben die Formeln und teilweise werden feste Werte draus gemacht. Falls ihr alternative, schnellere Wege kennt, bin ich für Tipps jederzeit offen und dankbar.
Vielen Dank und liebe Grüße,
Manuel

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA - Formeln einfügen beschleunigen
23.09.2021 22:16:24
Daniel
Hi
Hier musst du die Formeln selbst beschleunigen.
VLookup mit 4. Parameter = 4 ist sehr langsam, vor allem wenn der durchsuchte Bereich sehr groß ist.
Die Beschleunigung wäre, dass du die Tabelle "1. Query Pricing" aufsteigend nach Spalte 4 sortierst und die Formel so abänderst:
=If(VLOOKUP(RC4,'1. Query Pricing'!C4:C22,1,TRUE)=RC4,VLOOKUP(RC4,'1. Query Pricing'!C4:C22,13,TRUE) /'1. Query Pricing'!R4C3*12,0)
Gruß Daniel
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige