Range.Value / Paste.Spezial extrem langsam
12.11.2013 14:09:12
Thorben
ich versuch gerade einen Weg zu finden der meine Formelwerte aus ziemlich
dicken Fischen in Werte umwandelt:
Die Formeln:
In N2 bis N50000
=WENN(ODER((M2"")*(M3="");I2I3);(-SUMME($M$1:M2)-SUMME($N$1:N1));"")
In O2 bis O50000
=WENN(I2I3;-SUMME($M$2:M2)-SUMME($O$1:O1);"")
In U2 bis U50000
{=ABS(SUMME(WENN(($I$1:I2=I2)*($C$1:C2=C2)*($P$1:P2="X")*1=1;$M$1:M2;0)))}
-
Formeln werden runterkopiert mit:
Dim lngLetzte As Long
lngLetzte = .UsedRange.Rows.Count + .UsedRange.Row - 1
.Range(.Cells(2, 14), Cells(lngLetzte, 14)).Formula = .Cells(2, 14).Formula
.Range(.Cells(2, 15), Cells(lngLetzte, 15)).Formula = .Cells(2, 15).Formula
Range("U2:U" & Cells(Rows.Count, "A").End(xlUp).Row).FillDown ' ist ja ne Array
-
Meine kläglichen Versuche der Wertübernahme:
der Standard:
--------------
Columns("N:N").Select - je nach Spalte!
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
der Andere:
--------------
Range("N2:N30000") = Range("N2:N30000").Value
der vermeintlich Bessere:
--------------
Dim objCell As Range
For Each objCell In Range("N2:N30000")
If objCell.HasFormula Then objCell.Value = objCell.Value
Next
Keiner packt es, ohne das ich zwischendurch die "ick bin dein Vadder" Trilogie angucken kann und am Ende verzweifelt auf ESC hämmere!!!
Kann mir jemand helfen, ich hab die Trilogien jetzt schon 20x durch :-)
Vielen lieben Dank schon einmal im Voraus
MfG
Thorben