Is this WinForms? If so, you can do this:
Public Class PlateItem
Public Plate As String
Public Angle As Decimal
Public Diameter As Decimal
Public Overrides Function ToString() As String
Return "Plate: " & Plate & "; Angle: - " & Angle & "; Diameter: " & Diameter
End Function
End Class
Dim plateItems As New List(Of PlateItem)
plateItems.Add(New PlateItem with {.Plate = oPlateName, .Angle = strAngle, .Diameter = strDiameter})
lstPlateList.Items.AddRange(plateItems.OrderBy(Function(p) p.Angle).ToArray)
That will also let you pull out a PlateItem object from lstPlate.SelectedItem which you can pull the angle and diamter from, without needing the string manipulation