Es gibt definitiv einfachere Möglichkeiten, um zu erreichen, was dieser Code versucht, aber ich habe einen vereinfachten Code erstellt, um zu zeigen, was ich erreichen möchte. Im Grunde möchte ich Berechnungen für viele Daten durchführen und möchte das nicht zu den Arbeitsblättern hinzufügen müssen.Anwenden von Formel auf Zelle mit einem VBA definierten Array
Also im Grunde muss ich Formeln wie sum, durchschnittlichifs, etc. in einem Arbeitsblatt durch die Verwendung eines Array, das ich in meinem Makro definiert. An diesem Punkt kann ich nicht herausfinden, wie man dieses Array, das 5 Werte enthält, in eine "= sum()" -Funktion umwandelt. Vielen Dank im Voraus für Ihre Hilfe!
Sub ArraySum()
Dim numbers(5) As Double
Dim E As Double
For I = 1 To 5
E = Cells(I, 1)
numbers(I) = Cos(E)
Next I
Range("b1").Formula = "=sum(" & numbers & ")"
End Sub
Ya es scheint in meinem Kopf auch unklar. Mein Endziel würde erreicht werden, wenn ich etwas wie diese Formel innerhalb von Excel tun könnte, gibt es einen Weg, dies zu tun? = Averageif (cos (i2: i5), "> 0", cos (i2: i5)) – Topher
Was genau meinen Sie mit "innerhalb von Excel"? - Auf einem Arbeitsblatt können Sie einfach die Array-Formel in meinem zweiten Beispiel verwenden (verwenden Sie 'Strg + Shift + Enter', wenn Sie es auf dem Blatt eingeben) –
Ya ich meine auf einem Arbeitsblatt. Richtig, ich kann dein Beispiel mit Strg + Shift + Enter machen, aber ich lasse es nicht für den Durchschnitt tun (cos (a1: a5), "> 0"). Weißt du, was das Problem sein könnte? Schätze deine Hilfe. – Topher