I suspect that what you want is to get a sorted view of the data and you believe that you need to make a new table to achieve it.
Dim dt As New DataTable
Dim r As DataRow
With dt
.Columns.Add("HoleNo", GetType(String))
.Columns.Add("Depth_From", GetType(Double))
.Columns.Add("Depth_To", GetType(Double))
r = .NewRow : r(0) = "A1" : r(1) = 12 : r(2) = 14 : .Rows.Add(r)
r = .NewRow : r(0) = "A1" : r(1) = 2 : r(2) = 6 : .Rows.Add(r)
r = .NewRow : r(0) = "A1" : r(1) = 3 : r(2) = 5 : .Rows.Add(r)
r = .NewRow : r(0) = "A1" : r(1) = 4 : r(2) = 6 : .Rows.Add(r)
.DefaultView.Sort = "[HoleNo] ASC, [Depth_From] ASC, [Depth_To] ASC"
End With
dgv1.DataSource = dt.DefaultView