Creo que tienes que pensar un poco más tu planteamiento. Porque si dices
Código:
If lstdetalle.ListItems.item(Col).SubItems(7) =
lstdetalle.ListItems.item(Col).SubItems(7) Then
te vas a encontrar con que OBLIGATORIAMENTE siempre va a ser VERDADERO.
Entonces siempre va a pasar a la segunda línea, donde dices
Código:
If lstdetalle.ListItems.item(Col).ListSubItems(6) >=
lstdetalle.ListItems.item(Col).ListSubItems(6) Then
donde va a ocurrir también que SIEMPRE VA A SER VERDADERO...
La solución creo que pasaría por
1º.- Ordenar la lista por "Id, Total"
2º.- Dimensionar dos variables, una para cada columna (Dim nId as Integer, nTotal as integer)
3º.- Sustituir tus datos por
Código:
nId = -1
nTotal = -1
For Col = 1 To lstdetalle.ListItems.Count
If lstdetalle.ListItems.item(Col).SubItems(7) = nId Then
If lstdetalle.ListItems.item(Col).ListSubItems(6) >=nTotal Then
txtMin.Text = lstdetalle.ListItems.item(Col).ListSubItems(1)
txtMax.Text = lstdetalle.ListItems.item(Col).ListSubItems(6)
End If
End If
nId = lstdetalle.ListItems.item(Col).SubItems(7)
nTotal = lstdetalle.ListItems.item(Col).ListSubItems(6)
Next Col No te aseguro que la solución sea perfecta; pero creo darte la orientación para que la perfecciones tú.