Niedrigsten Wert ermitteln

  • Excel

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von robin5003414.

    Niedrigsten Wert ermitteln

    Niedrigsten Wert ermitteln

    Hallo,

    ich versuche gerade den niedrigsten Wert einer Spalte zu ermitteln..Für den Max wert habe ich das schon hinbekommen.

    Visual Basic-Quellcode

    1. Sub Test()
    2. i = 1: xmax = 0
    3. Do
    4. i = i + 1
    5. If Worksheets("Tabelle1").Cells(i, 10) > xmax Then xmax = Worksheets("Tabelle1").Cells(i, 10)
    6. Loop Until Worksheets("Tabelle1").Cells(i, 1) = ""
    7. MsgBox xmax
    8. End Sub


    Hat jemand eine Idee :) ?

    LG

    Robin

    Code-Anzeige korrigiert ~VaporiZed

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „VaporiZed“ ()

    Was für eine Klasse verwendest du?
    Was für einen Wert hat Workheet?

    Bitte um mehr code.

    Ansonsten kannst du eigentlich mit Linq arbeiten.

    Visual Basic-Quellcode

    1. Dim dt As New DataTable
    2. Dim rowCollection = From row As DataRow In dt Order By CInt(row.Item("wert"))
    3. Dim kleinsterWert As Integer = CInt(rowCollection(0).item("wert"))


    So sähe es evtl. bei einer DataTable aus, umgekehrt sortieren wäre dann Order By - CInt(row.Item("wert"))

    Vielleicht sieht es bei deiner Tabelle ungefährt so aus:

    Visual Basic-Quellcode

    1. dim cellCollection = From cell as IrgendwasCell in Worksheet("Tabelle1").Cells Order By CInt(cell)


    Wenn wir wüssten, was für eine Klasse du benutzt, könnten wir besser helfen => Welchen Typ hat Worksheet?
    Sieht mir sehr nach VBA in Excel aus.
    Die Frage ist nur, isses VBA oder schreibst du eine .NET Anwendung die auf Excel zugreift?
    Falls es VBA ist, wird dir LinQ nicht weiterhelfen.
    In VBA gibt es eine Funktion

    Visual Basic-Quellcode

    1. Set myRange = Worksheets("Tabelle1").Range("A1:A100")
    2. answer = Application.WorksheetFunction.Min(myRange)
    3. MsgBox answer


    Ebenso gibt es im übrigen die Funktion MAX, die kannst du analog verwenden.

    //EDIT

    Für eine ganze Spalte könnte man es zB so machen

    Visual Basic-Quellcode

    1. Set myRange = Worksheets("Tabelle1").Columns("A")
    2. 'oder so
    3. Set myRange = Worksheets("Tabelle1").Columns(1)


    ciao Mono
    Das ist meine Signatur und sie wird wunderbar sein!
    Wie wäre es mit dem gleichen Weg? Statt xmax einfach xmin nehmen und diesem vorher statt einer 0 einen höher als vorkommenden Wert geben. z.B. xmin = 10^10
    Gruß
    Peterfido

    Keine Unterstützung per PN!