Rechnungen optimieren
09.12.2013 09:56:52
Mona
ich habe folgendes Makro geschrieben, das mir Werte umrechnet und dann in einer Exceltabelle ausgeben soll. Es handelt sich um Verschiedene Tabellenblätter, und die Anzahl der Daten ist unterschiedlich, und wird deswegen von einem anderen Makro vorher ermittelt. Es handelt sich um Datensätze mit 20000 bis 60000 Zeilen.
Die Rechnung klappt. Nur wenn ich jetzt alle (hier ca. 20000 Zeilen) berechenen lassen will, gibt excel auf. Kann man das evt für excel verträglicher Programmieren?
Es ist eine 2x2 Matrix mit einer 2x1 multipliziert. Aber halt hier nun als ausgeschriebener Rechenwert.
Danke schonmal
Mona
Sub Berechnungen()
'Variablen für die For schleife
Dim i2 As Integer
Dim maxZeilen As Long
Dim Dreh As Double
Dim Winkel As Double
Dim Pi As Double
Dim cos As Double
Dim sin As Double
Pi = 3.14159
Winkel = ThisWorkbook.Worksheets("Ausgabe").Cells(7, 9)
Dreh = (360 - Winkel) / 180 * Pi 'Grad in Rad
cos = Cos(Dreh)
sin = sin(Dreh)
i2 = 10
maxZeilen = ThisWorkbook.Worksheets("Eingabe").Cells(5, 13)
For i2 = 10 To maxZeilen
ThisWorkbook.Worksheets("Ausgabe").Cells(i2, 13) = cos * ThisWorkbook.Worksheets("Ausgabe"). _
_
Cells(i2, 9) + sin * ThisWorkbook.Worksheets("Ausgabe").Cells(i2, 10)
ThisWorkbook.Worksheets("Ausgabe").Cells(i2, 14) = (-1) * sin * ThisWorkbook.Worksheets(" _
Ausgabe").Cells(i2, 9) + cos * ThisWorkbook.Worksheets("Ausgabe").Cells(i2, 10)
ThisWorkbook.Worksheets("Ausgabe").Cells(i2, 15) = cos * ThisWorkbook.Worksheets("Ausgabe"). _
_
Cells(i2, 11) + sin * ThisWorkbook.Worksheets("Ausgabe").Cells(i2, 12)
ThisWorkbook.Worksheets("Ausgabe").Cells(i2, 16) = (-1) * sin * ThisWorkbook.Worksheets(" _
Ausgabe").Cells(i2, 11) + cos * ThisWorkbook.Worksheets("Ausgabe").Cells(i2, 12)
Next i2
End Sub