Jump to content

textbox de un user form a listbox de otro user form


Recommended Posts

Buenos dias amigos, 

avanzando con mi formulario de suministros me encuentro con el error de que no se encuentra el objeto

he configurado un segundo userform "UserForm2" el cual se activa cuando hago clik en elemento del LISTBOX " LBProductos" y me permite escribir la cantidad del producto que deseo agregar. Hasta ahi funciona

Pero al seleccionar el Boton "CONFIRMAR", para cargar la cantidad de ese producto seleccionado en el UserForm1 me dice que no se encuenta el objeto, y no encuentro la forma de resolverlo.

La secuencia seria: _1 busco el producto en el USERFORM1, al hacer doble click sobre el producto

                                -2 se activa el userform2 y escribo el textbox "TXTCANTIDAD" la cantidad que deseo seleccionar.

                                -3 al presionar el Boton "CONFIRMAR" me introduzca el producto seleccionado y la cantidad en el ListBox "LBPedidos"

                                -4 se cierre el UserForm2 para seguir elegiendo productos o bien se cierre el pedido...

suministros Romi.xlsm

Me podrian ayudar?

Millones de gracias de ante mano

Link to comment
Share on other sites

Hace 2 horas, roa30 dijo:

Me podrian ayudar?

Primero ten en cuenta que para que funcione, AMBOS FORM deben tener la propiedad "ShowModal" en FALDE. Solo cambia el código del botón del UserForm2 a:
 

Private Sub CONFIRMAR_Click()


CANT = TXTCANTIDAD.Value
UserForm1.LBPedidos.List(UserForm1.LBPedidos.ListCount - 1, 4) = CANT
     
UserForm2.Hide
UserForm1.Show

End Sub

 

Link to comment
Share on other sites

Hace 2 horas, Haplox dijo:

Primero ten en cuenta que para que funcione, AMBOS FORM deben tener la propiedad "ShowModal" en FALDE. Solo cambia el código del botón del UserForm2 a:
 

Private Sub CONFIRMAR_Click()


CANT = TXTCANTIDAD.Value
UserForm1.LBPedidos.List(UserForm1.LBPedidos.ListCount - 1, 4) = CANT
     
UserForm2.Hide
UserForm1.Show

End Sub

 

@HaploxMuchisimas gracias. funciono perfecto!!!! gracias! gracias!

No sabia lo de la propiedad show modal, tengo que interiorizarme mas sobre eso, pero tu ayuda en el código funciono perfecto! gracias!

Link to comment
Share on other sites

No estoy de acuerdo con esta afirmación:

Cita

Primero ten en cuenta que para que funcione, AMBOS FORM deben tener la propiedad "ShowModal" en FALSE. 

 

Private Sub CONFIRMAR_Click()
   With UserForm1.LBPedidos
     .List(.ListCount - 1, 4) = TXTCANTIDAD
     Unload Me
   End With
End Sub

 

 

 

Edited by Antoni
Link to comment
Share on other sites

Hace 2 horas, Antoni dijo:

No estoy de acuerdo con esta afirmación:

 

Private Sub CONFIRMAR_Click()
   With UserForm1.LBPedidos
     .List(.ListCount - 1, 4) = TXTCANTIDAD
     Unload Me
   End With
End Sub

 

 

 

Hola @Antonimuchisimas gracias!

funciona excelente!!!!!

 

 

Link to comment
Share on other sites

Hace 2 horas, Haplox dijo:

:(

La propiedad ShowModal solo afecta a la forma de trabajar con los formularios.

A True, solo puedes trabajar con el último formulario mostrado, a False puedes trabajar con cualquier formulario mostrado, se pueden modificar los valores y las propiedades de cualquiera de ellos, ya sea desde otro formulario o desde una macro, estén mostrados o no, con independencia de la forma en que se muestren. 🙂

Edited by Antoni
Link to comment
Share on other sites

  • Crear macros Excel

  • Posts

    • Buenos días a todos; -Necesito de vuestra ayuda. Para mejor comprensión adjunto enlace de un video y comentario. Saludos y gracias de antemano     Adjunto también la macro. MEvento.zip
    • No debe importarnos que el usuario que abrió el tema no vuelva a consultarlo porque nuestras respuestas le llegaron demasiado tarde... Lo importante es poder ayudar a otros usuarios que tengan un problema similar en el futuro...
    • Es una opción original e ingeniosa pero creo que difícil de comprender para un usuario que sepa fórmulas sencillas... Adjunto otra opción con fórmulas desbordadas que puede que sea más fácil de comprender para un usuario que esté aprendiendo a formular, pues hay 3 pasos separados: Columna D : A cada valor se le añade 1> a la izquierda, se sustituye el primer + por 2> y el segundo + por 3>. De paso se quitan los signos , y . para convertir los valores en números. Todo ello con la función SUSTITUIR. ="1>"&SUSTITUIR(SUSTITUIR(SUSTITUIR(SUSTITUIR($C2;",";"");".";"");"+";"2>";1);"+";"3>";1)   Columna E (desbordada hacia la derecha en las columnas F y G): Extrae los valores y letras de 1>, 2> y 3>. Todo ello con una versión matricial de la función EXTRAE, con la ayuda de la función ENCONTRAR. =SI.ERROR(SUSTITUIR(EXTRAE($D2;ENCONTRAR({"1>"\"2>"\"3>"};$D2);SI.ERROR(ENCONTRAR({"2>"\"3>"\"0>"};$D2);100)-ENCONTRAR({"1>"\"2>"\"3>"};$D2));{"1>"\"2>"\"3>"};"");"")   Sumas de C, T y V: Suma las cantidades consumidas de cada letra con la función SUMAPRODUCTO. Salu2, Pedro Wave Sumar Letras PW1.xlsx
    • Hola,  Estoy intentando vía InputBox rellenar con el dato introducido una columna. Pero no consigo que lo haga desde la primera fila libre de A. Sería pegar el dato a partir de la primera celda libre de la columna A (está en verde), en función del Nº de filas de la columna B No consigo modificarla y se pega desde el comienzo.  Podéis echarle un vistazo? La macro está en el ejemplo. ¡Muchísimas gracias!      ej_InputBox.xlsm
    • La mía. Sub Mostrar() Application.ScreenUpdating = False Range("B:CM").EntireColumn.Hidden = False End Sub '-- Sub Ocultar() Dim Filtro As Range Application.ScreenUpdating = False Mostrar For y = 2 To Columns("CM").Column If WorksheetFunction.CountIf(Cells(8, y).Resize _ (Range("A" & Rows.Count).End(xlUp).Row, 1), "<>" & Empty) = 0 Then Columns(y).Hidden = True End If Next End Sub  
  • Recently Browsing

    No registered users viewing this page.

×
×
  • Create New...

Important Information

Privacy Policy