If DgExcel.CurrentRowIndex > -1 Then
dgexcel.Rows.Remove(dgexcel.Rows(dgexcel.CurrentRo w.Index))
End If
Passo a explicar:
A datagridview tem uma propriedade que é: .AllowAddRows.
Quando esta propriedade está activa, aparece sempre uma linha extra na datagrid com um *. Essa linha tem sempre o index -1 e a datagrid não permite a eliminação dessa linha. Essa linha é sempre a ultima, dai ser a causa do teu erro.
Deduzi isto mas posso estar errado porque não estou a ver o resto do código mas se tiveres essa opção = True, é bem provável que seja.