Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1552to1556
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Range of VBA variablen
12.04.2017 17:06:16
Fabian
Hi,
ich habe in VBA variable Z(i) generiert. N = Input Wert.
'z(i) calculation
ReDim z(0 To N)
z(0) = 0
For i = 1 To N
z(i) = ((x(i) - mue) / s) + z(i - 1)
Next i
Soweit alles gut. Nun habe ich einen weiteren input Wert m, der eine Range definiert (z.b. 5). Mit diesen Daten möchte ich die variable r(i) erzeugen, welche immer der rolliernde Werte aus der Range ist.
Also für das Beispiel m = 5
R(1) ist das Maximum aus Z(1), Z(2), Z(3), Z(4), Z(5)
R(2) ist das Maximum aus Z(2), Z(3), Z(4), Z(5), Z(6)
...
Habe dafür das folgende geschrieben, aber die Definition der Worksheet Function geht so nicht.
'R(i) calculation
ReDim r(1 To (N - (m - 1)))
For i = 1 To (N - (m - 1))
r(i) = Application.WorksheetFunction.Max(range("z(i):z(i + (m - 1)))
Next i
Wie muss ich das schreiben, um es richtig zu definieren?
Vielen Dank
Beste Gruesse
Fabian

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Range of VBA variablen
12.04.2017 18:51:55
ChrisL
Hi Fabian
Prinzip von Max:
=MAX(Zahl;Zahl;Zahl...)
somit
Application.WorksheetFunction.Max(ganzesArray)
oder
Application.WorksheetFunction.Max(z(i), z(i+1), z(i+2)...)
Blöd nur, dass die Anzahl Zahlen variabel ist. Darum würde ich mittels zusätzlicher Schleife in ein temporäres Array übergeben.
For j = i To i + N
x=x+1
ar(x) = Z(j)
Next j
Application.WorksheetFunction.Max(ar)
Eine elegantere Lösung ist mir leider nicht eingefallen, aber da eine Übergabe von Array zu Array schnell ist, würde ich eine zusätzlich Schleife in Kauf nehmen. Eigentlich könntest du MAX auch weglassen und den Max-Wert gleich in der Schleife bestimmen.
cu
Chris
Anzeige
AW: Range of VBA variablen
12.04.2017 19:21:49
Fabian
Hi Chris,
Vielen Dank.
Dann werde ich das so machen.
Beste Gruesse
Fabian

308 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige