Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
872to876
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
872to876
872to876
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Min und Max bestimmen
29.05.2007 13:03:03
julia
Hallo zusammen!!
Ich versuche hier gerade aus mehreren Zahlen das Minimum bzw. Maximun zu bestimmen, es sieht aber so aus, dass VBA alleine das nicht schafft. Oder Gibt es hier doch ein Trick?
Es sie so aus:

Sub max()
Dim i%, n%, x#()
n=6
ReDim x(n)
For i=1 To n
x(i)=Cells (1, 1+i)
Next
'Debug.Print max(x(i)), min(x(i))
'das klappt natürlich so nicht, wie soll man hier vorgehen?
Danke in Voraus
End 

Sub

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

Betreff
Datum
Anwender
Anzeige
AW: Min und Max bestimmen
29.05.2007 13:10:00
Hajo_Zi
Hallo Juloia,
Option Explicit

Sub Julia()
MsgBox "Minimum " & Application.WorksheetFunction.Min(Range("A1:A6"))
MsgBox "Maximum " & Application.WorksheetFunction.Max(Range("A1:A6"))
End Sub



AW: Min und Max bestimmen
29.05.2007 13:33:06
julia
Hallo Hajo,
danke Dir für deine Antwort.
Diese Variante passt mir leider nicht.
Genau gesagt werden meine x-Werte werden aus einem Zellbereich entnommen, sondern in einem Feld aus früheren Brechnungen gespeicher sind, so etwa x(i)=(Cells (1, 1+i))*(-6)+5-3 . Die entgültigen x(i) sollen nicht mehr ausgegeben werden, sonder nur min, bzw. max, diese brauche ich dann für weitere Berechnungen.

Sub max()
Dim i%, n%, x#()
n=6
ReDim x(n)
For i=1 To n
x(i)=(Cells (1, 1+i))*(-6)+5-3
Next
'Debug.Print max(x(i)), min(x(i))
'das klappt natürlich so nicht, wie soll man hier vorgehen?
'Danke im Voraus
End Sub


Anzeige
AW: Min und Max bestimmen
29.05.2007 13:41:22
Hajo_Zi
Hallo Julia,
warum den Rangebereich nicht einfach durch Dein Array ersetzen?
Option Explicit

Sub Julia()
MsgBox "Minimum " & Application.WorksheetFunction.Min(Range("A1:A6"))
MsgBox "Maximum " & Application.WorksheetFunction.max(Range("A1:A6"))
End Sub



Sub max()
Dim i%, n%, x#()
n = 6
ReDim x(n)
For i = 1 To n
x(i) = (Cells(1, 1 + i)) * (-6) + 5 - 3
Next
MsgBox "Minimum " & Application.WorksheetFunction.Min(x())
MsgBox "Maximum " & Application.WorksheetFunction.max(x())
'Debug.Print max(x(i)), min(x(i))
'das klappt natürlich so nicht, wie soll man hier vorgehen?
'Danke im Voraus
End Sub


Gruß Hajo

Anzeige
AW: Min und Max bestimmen
29.05.2007 13:46:00
Rudi
Hallo,
so in der Art:

Sub max()
Dim i%, n%, x#()
Dim maxXi, minXi
n = 6
maxXi = (Cells(1, 1 + i)) * (-6) + 5 - 3
minXi = (Cells(1, 1 + i)) * (-6) + 5 - 3
ReDim x(n)
For i = 2 To n
x(i) = (Cells(1, 1 + i)) * (-6) + 5 - 3
maxXi = WorksheetFunction.max(x(i), x(i - 1))
minXi = WorksheetFunction.Min(x(i), x(i - 1))
Next
Debug.Print maxXi, minXi
'das klappt natürlich so nicht, wie soll man hier vorgehen?
'Danke im Voraus
End Sub


Gruß
Rudi
Eine Kuh macht Muh, viele Kühe machen Mühe

AW: Min und Max bestimmen
29.05.2007 13:51:56
julia
Hallo Rudi,
danke dir, habe aber selber soeben dieses Problem gelöst.
Deine Variante ist aber viel eleganter!!
Schöne Grüße
Julia

Anzeige
AW: Min und Max bestimmen
29.05.2007 14:06:19
Hajo_Zi
Hallo Julia,
in der heutigen Zeit brachen wir nicht mehr auf Rechnerkapazität achten. Aber der Code ist aufwendiger, da bei jedem schreiben geprüft wird und dies auch noch bei Maximum und Minimum. Bei mir erfolgt die Prüfung nur einmal.
Gruß Hajo

64 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige