Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
636to640
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
636to640
636to640
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

VBA Problem (Einteilung) !!!!

VBA Problem (Einteilung) !!!!
15.07.2005 12:39:33
Thomas
Hallo an alle!
Ich habe ein Problem im VBA und brauch eure hilfe, und zwar:
Ich habe eine Datenreihe welche ich per Array sortiere (variable Anzahl). Nun möchte ich die besten 10% zusammenfassen, danch die zweiten 10%, danach die dritten 10% usw. usw.
Hat jemand eine Idee was ich machen könnte.
Danke für eure Hilfe
Thomas
Ps.: Anbei den Code den ich bis jetzt erstellt habe:

Sub Percentilen()
Dim x As Single, y As Single, z As Single, r As Single, p As Single
Dim Percentilen(), Werte()
x = ActiveSheet.UsedRange.Rows.Count - 1
y = InputBox("Wieviele Einheiten (Percentilen) sollen erstellt werden?", , 10)
z = WorksheetFunction.RoundDown(x / y, 0)
ReDim Percentilen(1 To y), Werte(1 To x), von(1 To y), bis(1 To y)
For p = 1 To x
For r = 2 To x + 1
If WorksheetFunction.Rank(Cells(r, 2), Range(Cells(2, 2), Cells(31, 2))) = p Then
Werte(p) = Cells(r, 2)
End If
Next r
Next p
End Sub

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Problem gelöst !!!
15.07.2005 13:36:25
Thomas
Hallo an Alle!
Hab das Problem inzwischenzeit wie folgt gelöst.
Thomas

Sub Percentilen()
Dim x As Single, y As Single, z As Single, r As Single, p As Single, Percentilen(), Werte(), von(), bis()
x = ActiveSheet.UsedRange.Rows.Count - 1
y = InputBox("Wieviele Einheiten (Percentilen) sollen erstellt werden?", , 10)
z = WorksheetFunction.RoundDown(x / y, 0)
ReDim Percentilen(1 To y), Werte(1 To x), von(1 To y), bis(1 To y)
For q = 1 To y
von(q) = 1 + (z * (q - 1))
bis(q) = z + (z * (q - 1))
For r = 2 To x + 1
If WorksheetFunction.Rank(Cells(r, 2), Range(Cells(2, 2), Cells(31, 2))) >= von(q) And WorksheetFunction.Rank(Cells(r, 2), Range(Cells(2, 2), Cells(31, 2))) <= bis(q) Then
Percentilen(q) = Percentilen(q) + Cells(r, 2)
End If
Next r
Debug.Print Percentilen(q)
Next q
End Sub

Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige