Hallo,
Ich habe eine Aufgabe für VBA in Excel bekommen, bei der ich einfach nicht weiter komme. Vielleicht kann mir ja hier jemand helfen.
Hier die komplette Aufgabenstellung:
In Spalte A ist eine laufende Nummer (steht für Produktionstage, geht bis 564) eingetragen. In Spalte B die entsprechenden Werte (steht für den Ausschuss der produzierten Ware). Ich soll nun mittels eines VBA-Programms das Minimum des Ausschusses finden, und dieses in der Zelle (E5) ausgeben. Falls mehrere identische Minimum-Werte auftauchen, soll nur der Wert mit der höchsten lfd. Nummer ausgegeben werden. Diese lfd. Nummer soll dann in Zelle E4 ausgegeben werden.
Das Problem ist jetzt, dass das Programm mir zwar den korrekten Min-Wert ausgibt, aber die lfd. Nummer immer 0 ist. Ich habe festgestellt, dass das Programm die If-Schleife überhaupt nicht durchläuft, oder die If-Bedingung zumindest als nicht erfüllt ansieht. Habe da einfach mal y = 100 eingegeben, es kam aber am Ende trotzdem 0.
Sub Min()
Dim x As Long, y As Long
Range("E5") = "=MIN(B1:B564)"
For x = 1 To 564
If Cells(x, 2) = "E5" Then
y = Cells(x, 1)
Exit For
End If
Next x
Range("E4") = y
End Sub
Da ja der Min-Wert mit der höchsten lfd. Nummer gesucht ist, kann ich dann nicht einfach die For-Schleife umdrehen? Also For x = 564 To 1?
Vielen Dank schon mal für eure Hilfe... |