Zeilenminimum mit VBA -Code abändern
11.08.2015 07:57:55
Bonduca
ich möchte aus jeder Zeile das Zeilenminimum (oder bei Bedarf auch den zweitkleinsten Wert) herauslesen.
Ich habe den untenstehenden Code abgeändert und noch folgende Probleme damit:
1. er soll keine 0 Werte berücksichtigen (und als Minimum ausweisen), sondern nur Werte die größer als 0 sind.
2. als Ergebnis liefert er die Spalte und Zeile (z.B. "$I$16). Gibt es eine Möglichkeit, dass er mir den Text in Zeile 15 (also in dem Fall den Inhalt von I15 wieder gibt)?
Sub ZeileMinimumAdresse() ' Suche Minimum von links beginnend
Dim strRange As String ' Bereich Zeile von B bis IV
Dim i As Long
Dim intMinNr As Integer
Dim objWks As Object ' Tabellenblatt mit Werte
With Application
Set objWks = .ThisWorkbook.Worksheets(1) ' erstes Tabellenblatt
For i = 16 To objWks.Range("G" & Rows.Count).End(xlUp).Row
intMinNr = 1 ' das wievielte Minimum (Rang)
On Error Resume Next ' eventuelle Leerzeilen erzeugen Fehler
strRange = "G" & i & ":IV" & i ' Spalte A: Adresse des Minimums
objWks.Cells(i, 1) = objWks.Range(strRange).Find(.WorksheetFunction.Small(objWks.Range( _
strRange), intMinNr), LookAt:=xlWhole, LookIn:=xlValues).Address
Next i
End With
On Error GoTo 0 ' Fehlerbehandlung wieder Standard
End Sub
Danke und viele Grüße!