Mira erick21 algo asi :
Código vb:
Ver originalDim a as ArrayList
Function ObtenerValoresFila(ByVal fila As DataRow) As String()
Dim Contenido(dt.Columns.Count() - 1) As String
For x As Integer = 0 To (Contenido.Length() - 1)
Contenido(x) = fila.Item(x).ToString()
a.Add(x)
Next
Return Contenido
End Function
Sub Copiar()
For Each Seleccion As DataRow In dt.Select
dt2.Rows.Add(ObtenerValoresFila(Seleccion))
'dt.Rows.Remove(Seleccion)
Next
remover()
End Sub
Sub remover()
For x As Integer = 0 To a.Count - 1
dt.Rows.RemoveAt(a(x))
Next
End Sub
si sale error avisas porque lo estoy haciendo a pura logica :s. Saludos!