Intenta con esto, solo faltaría algo de adecuación a tú código
Código:
Private Sub DataGridView1_UserAddedRow(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewRowEventArgs) Handles DataGridView1.UserAddedRow
Try
If DataGridView1.Item(1, DataGridView1.CurrentRow.Index).EditedFormattedValue = DataGridView1.Item(1, DataGridView1.CurrentRow.Index - 1).Value Then
MessageBox.Show("Error")
End If
Catch ex As Exception
End Try
End Sub
Lo coloreado en
Rojo indica el INDICE de la columna donde se encuentra el valor de tu factura, q me imagino será la columna(0).
Lo de
AZUL indica el INDICE del Renglón q estás editando - 1, esto funcionaría si checas solo contra el renglón anterior. De tener q checar todos los valores introducidos anteriormente, sería cosa de implementar algún FOR EACH o alguna otra Estructura de Control Cíclica.
Espero te sirva