Duda con combobox

Tengo un combobox que cargo con un userform. Lo utilizo para aplicar pagos de facturas. En la primera parte selecciono la factura del combobox y me despliega los datos referentes y me permite aplicar el pago a la misma.
Mi problema es que solo me permite aplicar el pago de la factura seleccionada después de de dar click al botón de "aplicar pago"y me cierra el userform. Quisiera que sin salirme del userform pueda seleccionar otra factura
Paso el código del Userform:
Dim fila As String
Private Sub ComboBox1_Change()
'declaro las variables a usar
Dim valor As String
'capturo el valor elegido del combobox (VAL lo convierte a numero)
valor = Val(ComboBox1)
'busca el numero de factura elegido para completar los textbox con los datos
Sheets("COB").Select
Range("a9").Select
Do While ActiveCell.Value valor
ActiveCell.Offset(1, 0).Select
Loop
'captura el numero de fila
fila = ActiveCell.Row
'llena los textbox con los datos de la misma fila
TextBox9 = Cells(fila, 2).Value
TextBox1 = Cells(fila, 3).Value
TextBox2 = Cells(fila, 4).Value
TextBox3 = Cells(fila, 6).Value
TextBox4 = Cells(fila, 8).Value
TextBox6 = Cells(fila, 9).Value
TextBox7 = Cells(fila, 10).Value
TextBox8 = Cells(fila, 11).Value
TextBox5 = Cells(fila, 14).Value
End Sub
Private Sub CommandButton1_Click()
'si se agrega algo en el textbox de abono, lo suma al abono anterior
Cells(fila, 8).Value = Val(TextBox4)
Cells(fila, 9).Value = (TextBox6)
Cells(fila, 10).Value = Val(TextBox7)
Cells(fila, 11).Value = (TextBox8)
End Sub
Private Sub CommandButton2_Click()
'Cierra el userform1
Unload UserForm1
'Ocultamos la hoja Registro para que nadie pueda verla
Sheets("COB").Visible = True
'volvemos
Range("J2").Select
ActiveWorkbook.Save
End Sub
Private Sub UserForm_Activate()
'Mostramos la hoja Registro para que se hagan las operaciones
Sheets("COB").Visible = True
'Al abrirse el userform llena automaticamente el combobox
'con los numeros de factura
Sheets("COB").Select
Range("a9").Select
Do While ActiveCell Empty
ComboBox1.AddItem ActiveCell.Value
ActiveCell.Offset(1, 0).Select
Loop
End Sub
Gracias por su apoyo

1 Respuesta

Respuesta
1
Veo que el Userform tiene las siguientes rutinas:
P Sub Userform_Activate : que llena el combo al inicio
P Sub Combobox1_Change: busca el dato en la hoja y devuelve valores del registro encontrado en los textbox.
P Sub CommandButton1_Click : pasa a las celdas lo que se cargó o modificó en los textbox
P Sub CommandButton2_Click : cierra el Userform y guarda el libro.
Hasta aquí todo está correcto, salvo que solo estás moviendo a la hoja algunos controles, no todos. Revisa esto. Luego de presionar el botón 1 podes seleccionar otro registro del combo y continuar tantas veces hasta que presiones el botón 2.
Quizás si agregas unas instrucciones de limpieza antes de seleccionar nuevamente el combo, te resultará más claro.
En el P SUb CommandButton1, justo antes del End Sub, agregá:
Textbox4.value = ""  'repite esto para todos los controles.
Combobox1. SetFocus 'te devuelve el control al combo para que selecciones otro registro.
También revisa si los nombres de los botones son tal como estamos considerando. CommandButton1 para mover y el otro para salir.
Pruébalo y si todo se solucionó no olvides presionar el botón FINALIZAR
Gracias Elsa, experta en toda la extensión de la palabra. Lamento no haber finalizado a tiempo ya que la respuesta la espere por algunos días y trate de resolverlo con alguna otra mecánica.
Sin embargo mi proyecto lo actualizo tal y como me indica, le estaré informando, por lo mientras finalizo esta consulta.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas