Por que no creas una sub con todo ese código repetido?
loginsql list1(0)
loginsql list1(1)
etc...
Código vb:
Ver originalSub Loginsql(List as Listbox)
login.SQL = "SELECT DISTINCT * FROM requerimiento where numero = '" + login.C4 + "' and sucursal '" + login.C5 + "' and depto = '" + login.C6 + "' and funcionario = '" + login.C7 + "' fecha = '" & DTPicker1.Value & "'and estado = '" + login.val + "'"
login.rst.Open login.SQL, login.cnn, adOpenDynamic, adLockOptimistic
While login.rst.EOF = False
List.AddItem login.rst(List.Index)
login.rst.MoveNext
Wend
login.rst.Close
End Sub
Así reduces código y encuentras mejor los errores.
Suerte