Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1332to1336
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

Variablen sortieren, VBA, Funktion

Variablen sortieren, VBA, Funktion
28.09.2013 11:06:45
Marcus
Moin moin liebe Excelperten,
über eine Funktion sollen die 5 besten Ergebnisse ermittelt werden.
Dazu habe ich "Dim Text(1 to 50)" als Variable angelegt, und lasse dann die Ergebnisse berechnen. So weit so gut.
In dem Lokal-Fenster werden mir die richtigen Werte angezeigt, jetzt möchte ich zur Weiterberechnung die besten 5, also aus Text1 bis Text 50, ermittelt!
Wie geht das und das geht überhaupt?
Vielen Dank für eure Hilfe.
Sonnige Grüße
Marcus

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Variablen sortieren, VBA, Funktion
28.09.2013 11:13:32
Hajo_Zi
Hallo Marcus,
sortiere das Array,
Ich habe jetzt einen vorhandenen Code kopiert.
Sub Dateiliste()
Dim Verzeichnis() As String
Dim Anzahl As Integer
Dim I As Integer
Dim Dateiname As String
Anzahl = 0
'    Liste erstellen
Dateiname = Dir("E:\Eigene Dateien\Hajo\" & "*.xls")
I = 3
Do While Dateiname  ""
'       Veränderung für DaPetra
'      z.B. Verwaltung.xls und Test.xls) falls sie vorhanden sind nicht anzeigen
'      und Anzeige ohne Dateityp
If Dateiname  "Adresse.xls" And Dateiname  "autoh.xls" Then
Anzahl = Anzahl + 1
ReDim Preserve Verzeichnis(1 To Anzahl)
'            Verzeichnis(Anzahl) = Mid(Dateiname, 1, Len(Dateiname) - 4)
Verzeichnis(Anzahl) = Dateiname
End If
Dateiname = Dir
Loop
'   Dateinamen sortieren
Sort_A_Z Verzeichnis, LBound(Verzeichnis), UBound(Verzeichnis)  ' Lbound kleinster Wert, _
UBound Größter Wert
'   Dateinamen in Listbox1 schreiben
For I = Anzahl To 1 Step -1
ListBox1.AddItem Verzeichnis(I)
Next I
End Sub
Public Sub Sort_Z_A(SortArray, L, R)
'   sortieren von Z bis A
'   von GerdZ Herber.de
Dim I, J, x, y
I = L
J = R
x = SortArray((L + R) / 2)
While (I  L)
J = J - 1
Wend
If (I  x And I  SortArray(J) And J > L)
J = J - 1
Wend
If (I 

Anzeige
AW: Variablen sortieren, VBA, Funktion
28.09.2013 11:47:05
Marcus
Hallo Hajo,
so richtig versteh ich das nicht :-(
Also ich schätze ich benötige das letzte Sort_A_Z, ich werde es gleich versuchen, aber ich muss ja in der Function noch die besten 5 ermitteln und eine Summe über diese bilden und dieses Ergebnis als Functionsergebnis zurückgeben.
Kann ich das mit deinem Code schon? Bitte mit kurzer Erläuterung.
Danke
Gruß
Marcus

AW: Variablen sortieren, VBA, Funktion
28.09.2013 11:52:32
Hajo_Zi
Hallo Marcus,
Du siehst es richtig, ich wollte den Aufruf mit darstellen. Nach der Sortierung sind die ersten 5 die besten fünf.
Gruß Hajo

Anzeige
AW: Variablen sortieren, VBA, Funktion
28.09.2013 16:31:40
Marcus
Hallo Hajo,
ich versteh es leider nicht.
Hier mal meine Function:
Function Beste5(matrix)
Dim zelle As Range
Dim text(1 To 50)
Dim z As Integer
z = 1
For Each zelle In matrix
If zelle = "" Then GoTo weiter
wo = zelle.Address
zeile = Range(wo).Rows.Row
spalte = Range(wo).Columns.Column
text(z) = Range(wo) * Cells(zeile, 2) / Cells(zeile, 3)
z = z + 1
weiter:
Next
'Beste5 = ?
End Function
Welche deiner Variablen bei mir text(z) ist verstehe ich nicht. Außerdem weiß ichnicht welche Werte die Variablen I, J, x und y haben? Und was wäre L und R?
Wenn dann alles sortiert ist, wie frage ich dann die ersten n oder den n-ten ab?
Danke!
Gruß
Marcus

Anzeige
AW: Variablen sortieren, VBA, Funktion
28.09.2013 16:36:20
Hajo_Zi
Hallo Marcus,
ich sehe in Deinem Code nicht wo Du meinen Vorschlag eingearbeitet hast.
mit Sort_A_Z Verzeichnis, LBound(Verzeichnis), UBound(Verzeichnis) ' Lbound kleinster Wert, _
UBound Größter Wert
wird das Array Verzeichnis sortiert.
Die Variablen werden doch im Code verwendet, falls Du wissen willst welche Werte die annehmen, dann must Du den Code im Einzelschritt durchgehen. Mir ist aber nicht klar warum?
Gruß Hajo

AW: Variablen sortieren, VBA, Funktion
28.09.2013 17:42:55
Marcus
Hi Hajo,
jetzt hats geschnackelt!
Klappt! Herzlichen Dank!
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige