H o l a:
Te explico los cambios que realicé.
1. En el form frm_RD en la carga del listbox, agregué en una columna el número de fila con esta instrucción:
lst_LLP.List(lst_LLP.ListCount - 1, 4) = B.Row
Quedaría así
Sub LOADLISTBOXINBOOK()
lst_LLP.Clear
Set H = Sheets("DETALLE DE PRESTAMOS.exe")
Set R = H.Columns("C")
Set B = R.Find(cbm_DL)
If Not B Is Nothing Then
NCELL = B.Address
Do
lst_LLP.AddItem H.Cells(B.Row, "A")
lst_LLP.List(lst_LLP.ListCount - 1, 1) = H.Cells(B.Row, "H")
lst_LLP.List(lst_LLP.ListCount - 1, 2) = H.Cells(B.Row, "K")
lst_LLP.List(lst_LLP.ListCount - 1, 3) = H.Cells(B.Row, "M")
lst_LLP.List(lst_LLP.ListCount - 1, 4) = B.Row
Set B = R.FindNext(B)
Loop While Not B Is Nothing And B.Address <> NCELL
End If
End Sub
Para llamar al formulario de edición frm_RD_edit así:
Private Sub cmd_LOAD_Click()
'Por.Dante Amor
If lst_LLP.ListIndex = -1 Then
MsgBox "Selecciona un registro", vbExclamation
Exit Sub
End If
With frm_RD_edit
.fila = lst_LLP.List(lst_LLP.ListIndex, 4)
.Show
End With
LOADLISTBOXINBOOK
End Sub
El formulario frm_RD le pasa como parámetro el número de fila al frm_RD_edit, para ello es necesario declarar en frm_RD_edit la variable fila como public, en el evento activate se cargan los textbox y con el botón se pasa la información de los textbox a las celdas.
Public fila
'
Private Sub UserForm_Activate()
'Por.Dante Amor
Set h1 = Sheets("DETALLE DE PRESTAMOS.exe")
txt_PROROGATION = h1.Cells(fila, "N")
txt_STATUS = h1.Cells(fila, "K")
txt_FD = h1.Cells(fila, "L")
End Sub
'
Private Sub cmd_RD_Click()
'Por.Dante Amor
Set h1 = Sheets("DETALLE DE PRESTAMOS.exe")
h1.Cells(fila, "N") = txt_PROROGATION
h1.Cells(fila, "K") = txt_STATUS
h1.Cells(fila, "L") = txt_FD
MsgBox "Registro actualizado", vbInformation
Unload Me
End Sub
‘
F E L I Z A Ñ O T E D E S E A D a n t e A m o r. Recuerda valorar la respuesta. G r a c i a s
:)