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

Array Formel per VBA zelle für zelle eintragen,rechnen,werte bis ende

Forumthread: Array Formel per VBA zelle für zelle eintragen,rechnen,werte bis ende

Array Formel per VBA zelle für zelle eintragen,rechnen,werte bis ende
24.10.2019 13:12:56
Nilo
Hallo zusammen,
ich habe ein kleines Problem!
Ich habe eine ArrayFormel
{=WENN(ZÄHLENWENN(P:P;P2)=1;0;WENN(ZÄHLENWENN(P$2:P2;P2)=1;MAX(Q$1:Q1)+1;INDEX(Q$1:Q1;VERGLEICH(P2; P:P;)))) }
Diese füge ich in Q1 ein und ziehe sie runter! Soweit ok nur sind es einige hunderttausend Zeilen und ich mag euch nicht sagen wie lange es dauert wenn das in einem Rutsch gemacht wird....
Darum dachte ich mir:
Die Formel:
- eintragen in Q1, durchrechnen, Werte übernehmen nächste
- eintragen in Q2, durchrechnen, Werte übernehmen usw.
bis alles fertig ist.
Wie könnte ich das machen?`
Danke und Gruß
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Array Formel per VBA zelle fü
24.10.2019 13:18:01
Klaus
Hallo Nilo,
ob das der richtige Weg ist? Es gibt bestimmt anderes Opimierungspotential.
Naja, seis drum. Lass folgendes Makro über deine Mittagspause laufen:
Sub OftEintragen()
Const firstRow As Long = 1
Const lastRow As Long = 200000
Const myCol As Long = 17
Dim i As Long
Application.ScreenUpdating = False
For i = firstRow To lastRow
With Cells(i, myCol)
.FormulaArray = "=IF(COUNTIF(C[-1],R[1]C[-1])=1,0,IF(COUNTIF(R2C[-1]:R[1]C[-1],R[1]C[-1] _
)=1,MAX(R1C:RC)+1,INDEX(R1C:RC,MATCH(R[1]C[-1], C[-1],))))"
Calculate
.Value = .Value
End With
Next i
Application.ScreenUpdating = True
End Sub
LG,
Klaus M.
Anzeige
AW: vielen Dank und Gruß, das läuft super! owt
24.10.2019 13:40:28
Nilo
.
Danke für die Rückmeldung! owT.
24.10.2019 13:46:38
Klaus
.

Forumthreads zu verwandten Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige