AW: Spalten multiplizieren / Ergebnis in Array
29.04.2016 10:07:19
Daniel
Hi
Schleifen sind nur dann langsam, wenn du Excelzellen einzeln damit bearbeitest.
wenn du die Werte erst in ein Array lädst und dann dieses Array damit bearbeitest, sind Schleifen sehr schnell.
wenn du zwei parallele einreihige Zahlenkolonnen hast die du zeilenweise mit einenander multiplizieren willst, dann ist MMult nicht die passende Funktion dafür.
einfach mal in der Excelhilfe zu MMult nachlesen.
hier mal ein Beispiel für MMult zum erstellen einer Multiplikationstabelle
Sub DasKleineEinmalEins()
Dim arr1(1 To 10, 1 To 1)
Dim arr2(1 To 1, 1 To 10)
Dim arr3
Dim i As Long
For i = LBound(arr1) To UBound(arr1)
arr1(i, 1) = i
arr2(1, i) = i
Next
arr3 = WorksheetFunction.MMult(arr1, arr2)
Cells(1, 1).Resize(UBound(arr3, 1), UBound(arr3, 2)).Value = arr3
End Sub
MMult wäre dann was für dich, wenn du alle Array-Werte mit dem gleichen Wert multiplizieren willst (z.B. Mehrwertsteuerberechnung)
Gruß Daniel