5.4k Aufrufe
Gefragt in Tabellenkalkulation von ahorn38 Experte (3.2k Punkte)
Hallo,

ich suche einen einfachen VBA Code mit dem ich aus einer Excel-Tabelle Spalte "E1:E20" die drei größten Werte suchen und in F1:F3 separat noch einmal listen kann.
Habe mich bisher immer in diversen Vergleichs-Schleifen verheddert.

20 Antworten

0 Punkte
Beantwortet von hajo_zi Experte (9.1k Punkte)
das geht auch ohne Code
=KGRÖSSTE($E$1:$E$20;ZEILE())
und runter ziehen,.


Gruß Hajo
0 Punkte
Beantwortet von ahorn38 Experte (3.2k Punkte)
Hallo Hajo,
in meinem speziellen Fall kann ich die Excel-Formel nicht nutzen, da ich das Problem in einem bestehenden Code unterbringen muss. Ich habe es über eine Schleife versucht, bei der ich beim ersten Datensatz anfange und der Reihe mit den folgenden vergleiche bis ich einen größeren gefunden habe, dann diesen wieder mit den nachfolgenden vergleichen usw.... aber leider komme ich nicht zum gewünschten Ergebnis.
0 Punkte
Beantwortet von hajo_zi Experte (9.1k Punkte)
benutze meine Formel und Evaluate()

Gruß Hajo
0 Punkte
Beantwortet von hajo_zi Experte (9.1k Punkte)
Zeile() durch den entsprechenden Wert ersetzen.

Gruß Hajo
0 Punkte
Beantwortet von ahorn38 Experte (3.2k Punkte)
Danke Hajo, aber ich glaube ich komme doch nicht um einen Code herum. Ich brauche nämlich im weiteren dann auch die Zeile, in der der betreffende Wert steht, da ich mit den anderen Einträgen in dieser Zeile weiterarbeiten muss.
0 Punkte
Beantwortet von hajo_zi Experte (9.1k Punkte)
Du benutzt umfangreichen Code, da bin ich davon ausgegangen das mein vorgeschlagener VBA Code Dir bekannt ist. Du willst ihn also nicht einsetzen ich bin dann raus.

Gruß Hajo
0 Punkte
Beantwortet von fedjo Experte (2.2k Punkte)
Hallo,
ein Versuch:

Sub Wert()
Dim arr() As Byte, i As Byte, Zeile As Long
ReDim arr(3)
For i = 1 To 3
arr(i) = Application.WorksheetFunction.Large(Range(Cells(3, 5), Cells(20, 5)), i)
Cells(0 + i, 6).Value = arr(i)
Next
End Sub

Gruß
fedjo
0 Punkte
Beantwortet von ahorn38 Experte (3.2k Punkte)
Hallo fedjo,

von wegen Versuch..... das ist genau die Lösung!! Ich muss mir das jetzt noch genau ansehen um es auch zu verstehen, aber das Ergebnis ist 100%. Vielen Dank!!
0 Punkte
Beantwortet von ahorn38 Experte (3.2k Punkte)
Hallo,

kannst du mir noch sagen wie der Befehl abgewandelt werden müsste um nach den niedrigsten Werten zu suchen?
0 Punkte
Beantwortet von m-o Profi (22.8k Punkte)
Hallo,

ersetze "Large" durch "Small".

Gruß

M.O.
...