Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1688to1692
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
Inhaltsverzeichnis

VBA 10 größten Werte aus Spalte suchen

VBA 10 größten Werte aus Spalte suchen
07.05.2019 15:17:32
Schmidt
Hi,
bin neu, wie man sicherlich sieht und merkt.
Habe ein leidliches Problem mit einem kleinen Versuch in VBA.
Ich möchte Spalte B (ab Zeile 5), in welcher die Anzahl von Startvorgängen aufgelistet ist, auswerten und die 10 größten Werte heraussuchen. Dazu sollen die entsprechenden Werte aus Spalte A (Vorgangsnummern) ausgegeben werden. Ich habe das mit folgendem code gelöst.

Public Sub top10Gesamtzahlen()
Dim i As Integer
Dim rngSrc As Range
Dim top(1 To 10) As Double
Dim zeile(1 To 10) As Integer
With ausgabe
Set rngSrc = ThisWorkbook.Worksheets("Vergleichsliste").Range("b5:b100")
For i = 1 To 10
top(i) = Application.WorksheetFunction.Large(rngSrc, i)
'         zeile(i) = rngSrc.Find(What:=top(i), LookIn:=xlValues, LookAt:=xlWhole,  _
SearchDirection:=xlNext).Row
zeile(i) = Application.WorksheetFunction.Match(top(i), rngSrc, 0) + 4
Next
End With
For i = 1 To 10
ThisWorkbook.Worksheets("Ausgabe").Cells(2, 3 + i) = ThisWorkbook.Worksheets(" _
Vergleichsliste").Cells(zeile(i), 1)
ThisWorkbook.Worksheets("Ausgabe").Cells(3, 3 + i) = top(i)
Next
End Sub
Mein Problem ist, dass ich an dieser Stelle bei Dopplungen der Anzahl an Startvorgängen immer nur eine Vorgangsnummer ausgegeben bekomme. Hier ein Bsp. der Liste.
A B
Z5 1 5
Z6 2 7
Z7 3 5
Z8 4 6
....
Ausgegeben bekomme ich hier:
3 4 1 1 ...
7 6 5 5 ...
Habe es mit .Find und .Match probiert aber beides führt zum gleichen Resultat.
Wie kann ich das umgehen und bei gleichen Anzahlen auch die verschiedenen dazugehörigen Zeilenwerte bekommen? Hat da jemand ne Idee für mich?
Gruß
Marc

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA 10 größten Werte aus Spalte suchen
07.05.2019 15:50:33
Daniel
Hi
sortiere doch die Liste nach Spalte B und nimm die ersten 10 Zellen aus Spalte A.
Gruß Daniel
ohne Sortieren
07.05.2019 16:05:40
Daniel
wenn du nicht umsortieren magst, dann filtere doch einfach mit dem Autofilter nach den Top10 werten und lass die schleife zum einlesen die sichtbaren Zellen laufen.
Gruß Daniel
AW: ohne Sortieren
07.05.2019 16:11:58
Schmidt
Hi Daniel,
danke schon mal für deine Antwort aber ich möchte hier so viel wie möglich automatisieren, da die Ergebnisse als Grundlage für weitere Auswertungen dienen und in einem anderen Sub wieder aufgerufen werden. Des Weiteren ist Alles in Allem in einer riesigen Schleife verpackt.
AW: ohne Sortieren
07.05.2019 16:20:09
Daniel
es spricht nichts dagegen, die von mir beschriebenen Schritte auch automatisiert ausführen zu lassen.
alles was man in Excel von Hand machen kann, lässt sich auch automatisiert per Makro ausführen.
Der Recorder ist dein Freund.
Gruß Daniel
Anzeige
AW: ohne Sortieren
08.05.2019 12:17:12
Schmidt
Hi Daniel,
ja, OK. Ich lass mich ja schon dazu hinreißen, es auf die einfache Weise zu lösen. Meine Anfrage hat sich dann damit auch erledigt.

311 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige