Dim cadena as string
Dim i as integer
Dim mayor as integer
Dim menor as integer
cadena = "56982356843154"
menor = 32767 'o un numero mas grande si es necesario
mayor = -32767 'o un numero mas pequeno si es necesario
for i=1 to len(cadena)
if Mid(cadena, i, 1) > mayor then mayor = Mid(cadena, i, 1)
if Mid(cadena, i, 1) < menor then menor = Mid(cadena, i, 1)
next i
Para un arreglo seria mas facil, no utilizarias el Mid, sino el indice del arreglo, y el ciclo seria hasta el numero de elementos.
Dim CadenaNum As String
Dim arNum() As String
Dim i As Long
Dim Min As Long
Dim Max As Long
CadenaNum = "1,2,3,4,5,6,7,8,9"
arNum() = Split(CadenaNum, ",")
For i = LBound(arNum) To UBound(arNum)
If arNum(i) < Min Or Min = 0 Then
Min = arNum(i)
End If
If arNum(i) > Max Then
Max = arNum(i)
End If
Next
MsgBox "Número menor: " & Min & vbCrLf & _
"Número mayor: " & Max
He visto las respuestas, y el del bug yo diria que el 0 si no hay otro menor lo cogera como menor.
si lo que quieres decir con cadena, es una secuencia de numeros seguidas valen, pero si de lo que quieres es una secuencia de numeros
utilizando un array, que es lo que yo pensaba, yo lo haria asi a=acumulador(1)
masgrande = a
maspequeña = a
For x = 2 To 10
a = acumulador(x)
If a > masgrande Then
masgrande = a
End If
If a < maspequeña Then
maspequeña = a
End If
Next x
re1.Text = CStr(masgrande)
re2.Text = CStr(maspequeña)
considero un acumulador con 10 numeros, me como la posicion 0 del
array.