ich erstelle in einer schleife Dateien und Ordnen mit verschiedenen Inhalten aus einer Haupttabelle:
VBA sieht so aus:
Sub Reports_erstellen()
Dim i As Integer, sFile As String
Const sPfad As String = "C:\Users\Andre\Desktop\XXXREPORT\"
For i = 1 To 5
If Cells(i, 1) "" Then
sFile = Cells(i, 1)
MkDir sPfad & sFile
With Workbooks.Add
' verschiedene Formel und Formatierungen und folgende Matrixformel
Range("B8").Select
ActiveCell.FormulaR1C1 = _
"=IF(ROWS('[C.xlsm]C'!R1:R[-7])>COUNTIFS('[C.xlsm]C'!C[0],R3C1,'[C.xlsm]C'!C[12],"" _
ok""),"""",INDEX('[C.xlsm]C'!C[8],SMALL(IF(('[C.xlsm]C'!R1C[0]:R20000C[0]=R3C1)*('[C.xlsm]C'!R1C[12]:R20000C[12]=""ok""),ROW(R1:R20000)),ROW('[C.xlsm]C'!R[-7]C[8]))))"
Selection.FormulaArray = _
"=IF(ROWS('[C.xlsm]C'!R1:R[-7])>COUNTIFS('[C.xlsm]C'!C[0],R3C1,'[C.xlsm]C'!C[12],"" _
ok""),"""",INDEX('[C.xlsm]C'!C[8],SMALL(IF(('[C.xlsm]C'!R1C[0]:R20000C[0]=R3C1)*('[C.xlsm]C'!R1C[12]:R20000C[12]=""ok""),ROW(R1:R20000)),ROW('[C.xlsm]C'!R[-7]C[8]))))"
If Range("M2").Value > 1 Then
Selection.AutoFill Destination:=Range("b8:b20"), Type:=xlFillDefault
End If
.SaveAs sPfad & sFile & "\" & "120910 " & "GG Report " & sFile & " August 2012 (al)"
.Close
End With
End If
Next
End Sub
das funktioniert auch soweit alles. nur gibt es ein problem wenn ich das makro um folgenden befehl erweitere:
Cells.Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
dann werden die formel nicht mehr aktualisiert und es steht das erste ergebnis in jeder zeile.
wie bekomme ich es hin das die matrx formel erst komplett berechnet wird und er anschließend alle formeln aus dem sheet löscht und durch reine werte ersetzt?
Vielen Danke für eure Hilfe im vorraus.