En lugar de asignar diréctamente interactuando con las propiedades del Textbox, almacena los números en un tipo de colección, un array, o una lista, o una lista ordenada (SortedList), o lo que prefieras, y ordenas los elementos del objeto.
Private NumbersArray() As Int32
Array.Sort(NumbersArray)
Private NumbersList As New List(Of Int32)
NumbersList.Sort()
Private list As New SortedList
PD: La variable
r5 no dices de que tipo es, aunque me imagino que es un entero, no somos magos, si especificas con más detalles lo que necesitas recibirás mejor ayuda, tienes alrededor de 30 textboxes y no se si los quieres ordenar para que aparezca cada número (un solo número) en cada textbox o que es lo que quieres hacer, muestra parte del código, detalles, información, imágenes.
EDITO: Eliminar duplicados de una colección también es facil (más usando Linq):
#Region " Remove Array Duplicates "
' Remove Array Duplicates
'
' // By Elektro H@cker
'
' Examples :
'
' Dim myarray(3) As String : myarray(0) = "a" : myarray(1) = "a" : myarray(2) = "b" : myarray(3) = "b"
' For Each item In Remove_Array_Duplicates(myarray) : MsgBox(item) : Next
Private Function Remove_Array_Duplicates(ByVal Myarray() As String) As String()
Return Myarray.Cast(Of String).Distinct().ToArray
End Function
#End Region
#Region " Remove List Duplicates "
' Remove List Duplicates
'
' // By Elektro H@cker
'
' Examples :
'
' Dim list As New List(Of String) From {"a", "a", "b", "b", "c", "c"}
' For Each item In Remove_List_Duplicates(list) : MsgBox(item) : Next
Private Function Remove_List_Duplicates(ByVal list As List(Of String)) As List(Of String)
Return list.Cast(Of String).Distinct().ToList
End Function
#End Region
Saludos!