Modificar registro desde UserForm según fila en hoja
Tengo una hoja llamada "CONTABILIDAD", en la cual tengo miles de registros, los cuales corresponden a registros contables, en la columna B de dicha hoja se guarda el numero del documento, el cual se repite tantas filas como registros tenga el asiento contable; cuando necesito modificar un registro contable, lo hago mediante un UserForm, en el cual en una casilla indico el numero de documento que deseo modificar, y en un ListBox se me muestran filtrados los registros que tiene el documento indicado; al seleccionar el registro con doble clic en el ListBox, dicho registro pasa a unos TextBox, y ahí modifico el campo que necesito, y luego al guardar el cambio el registro en la hoja se debe modificar con el cambio hecho en el formulario, el problema que tengo es que si mi registro 4 tiene asientos contables, y yo modifico el ultimo, al guardar el cambio, este pasa a la fila No. 4 de la hoja, es decir no se ubica en el numero de fila en que realmente está en la hoja, y ello hace que el cambio modifique una fila que no corresponde, por ello no sé si me pueden colaborar indicándome como puedo incluir una instrucción que haga que la modificación se haga exactamente en la fila donde está guardado el registro seleccionado. La macro es la siguiente:
Private Sub cmdSeleccionarC_Click()
'guarda información en la hoja
'If COMBOBOX2 <> "" Then COMBOBOX3 = COMBOBOX2 & " " & TextBox9
If TextBox8 = "" Then
MsgBox "No puedes dejar el campo Cliente vacío"
CommandButton2.SetFocus
Exit Sub
End If
If TextBox19 > 0 And TextBox22 > 0 Then
MsgBox "No puede ingresar débitos y créditos a la vez"
End If
If clienvo = 1 Then
fincl = Sheets("CONTABILIDAD").Range("A1048576").End(xlUp).Row ' + 1 'ALTA
Sheets("CONTABILIDAD").Cells(fincl, 8) = Val(ComboBox3) 'cc
End If
Application.ScreenUpdating = False
Sheets("CONTABILIDAD").Select
ActiveSheet. Unprotect "MICLAVE"
'paso el combobox3 a la fila M1
Sheets("CONTABILIDAD").Range("M1") = ComboBox2
'pasar datos de los textbox a la hoja
'paso el dato fecha, y lo valido para que quede en formato correcto (textbox8)
Sheets("CONTABILIDAD").Cells(fincl, 1) = CDate(Format(TextBox8.Value, "dd/mm/yyyy")) 'fecha
Sheets("CONTABILIDAD").Cells(fincl, 2) = TextBox23 'documento No
Sheets("CONTABILIDAD").Cells(fincl, 6) = ComboBox2 'cuenta
Sheets("CONTABILIDAD").Cells(fincl, 7) = TextBox9 'concepto
Sheets("CONTABILIDAD").Cells(fincl, 8) = ComboBox3 'nit
Sheets("CONTABILIDAD").Cells(fincl, 9) = TextBox24 'tercero
Sheets("CONTABILIDAD").Cells(fincl, 10) = TextBox19 * 1 'debito
Sheets("CONTABILIDAD").Cells(fincl, 11) = TextBox22 * 1 'credito
'valido pesos
TextBox19 = Format(TextBox19, "$ #,##0")
TextBox22 = Format(TextBox22, "$ #,##0")
'ComboBox3 = Format(ComboBox3, "@")
'TextBox8 = Format(TextBox8, "dd/mm/yyyy;@")
'TextBox8 = CDate(Format(TextBox8.Value, "dd/mm/yyyy"))
'escribo formulas en celdas de cuentas
Sheets("CONTABILIDAD").Range("M2").Select
ActiveCell.FormulaR1C1 = "=+CONCATENATE(R[-1]C[1],"" "",R[-1]C[4])"
Range("N2").Select
ActiveCell.FormulaR1C1 = "=+CONCATENATE(R[-1]C[1],"" "",R[-1]C[4])"
Range("O2").Select
ActiveCell.FormulaR1C1 = "=+CONCATENATE(R[-1]C[1],"" "",R[-1]C[4])"
'paso el dato de M2 a columna c
Sheets("CONTABILIDAD").Cells(fincl, 3) = Range("M2") 'clase
Sheets("CONTABILIDAD").Cells(fincl, 4) = Range("N2") 'grupo
Sheets("CONTABILIDAD").Cells(fincl, 5) = Range("O2") 'cuenta
Sheets("CONTABILIDAD").Select
ActiveSheet.Protect "MICLAVE"
'limpieza
Call limpiaform
ind = 0
Call llenalistas
ind = 0
ver = 0
TextBox8.Enabled = True
clienvo = 0
Unload Me
ActiveWorkbook.Save
Sheets("CONTABILIDAD").Select
End Sub