Frage von Camel959 18.06.2012

VBA (Excel) Function,Min - Zwei Werte? Laufzeitfehler 1004

  • Hilfreichste Antwort von apachy 18.06.2012
    1 Mitglied fand diese Antwort hilfreich

    Hm wäre interessant wie du angefangen hast das zu lesen, wenn du schon einen Ansatz hast. Ich persönlich würde es in etwa so machen (angenommen die Werte stehen in der ersten Spalte, ab Zeile 2:

    Sub kleinsteZahl()
        With Tabelle1
            'Ersten Wert von Hand setzen
            Dim min As Integer
            min = CInt(.Cells(2, 1).Value)
    
            'Letzte Zeile
            Dim zeileMax As Integer
            zeileMax = .UsedRange.Rows.Count
    
            Dim zeile As Integer
            Dim position As Integer
            position = 2
    
            'Durchläuft die erste Spalte
            For zeile = 3 To zeileMax
                'Ist die Zahl kleiner wird Position und Zahl gespeichert
                If CInt(.Cells(zeile, 1).Value) < min Then
                    position = zeile
                    min = CInt(.Cells(zeile, 1).Value)
                End If
            Next zeile
    
            'Ausgabe in einer MsgBox
            MsgBox "Die kleinste Zahl ist " + CStr(min) + " in Zeile " + CStr(position)
    
        End With
    End Sub
    

    Gibt sicher auch elegantere Lösungen, hab mit VBA auch nur ein Wochenende gearbeitet, an sich hat Excel ja von Haus aus schon eine MIN-Option, so würde entsprechend nur der erste gefundene Minimalwert verwendet.

  • Antwort von Iamiam 18.06.2012

    suche mal den englischen Formelnamen für KKleinste(),
    frage Worksheetfunction.KKleinste(1) und (2) ab und vergleiche die beiden. dann kannst du mit dem Ergebnis dieses Vergleichs die Adresse raussuchen oder verwerfen.
    Die Syntaxen (Syntaxis? wohl nicht! Syntaces?) musst du selber finden, einen Link in alle Sprachen findest du unter
    http://wwwhome.ewi.utwente.nl/~trieschn/excel/excel.html

Verwandte Fragen

Fragen Sie die Community –

anonym und kostenlos!