Pasar datos de ListBox a TexBox - VBA

Como primero, les comento que no soy programador, he estado viendo vídeos y visitando paginas, tomando las macros que mucho comparten en la red y armando un archivo para llevar control de mis herramientas. Cuando rento, envío a taller, etc una herramienta, necesito actualizar algunos de los campos en la hoja donde tengo todo el inventario (base de datos), por ejemplo: estado (disponible "a" en servicio/rentado), ubicación ( bodega "a" cliente xxx) etc. Ya tengo un formulario de búsqueda en el cual por serial traigo mi herramienta y los campos que deseo editar; si edito los campos (TextBox) y pico mi botón modificar, se realizan los cambios en el inventario o base datos, sin embargo, ahora quiero que los campos de Textbox se llenen al seleccionar un item de un ListBox, esto para evitar que si otra persona llena la información pueda cometer errores y en lugar de poner "rentado" ponga "en renta", lo cual va a afectar el resumen de información en mis tablas y gráficos dinámicos. Agradezco si me pueden ayudar indicando como puedo hacer este proceso. A continuación muestro una imagen de lo que tengo y parte del código el cual busca los valores en la tabla, los trae, seguido si edito algún campo (TextBox) y doy clic en actualizar realiza los cambios en mi base de datos.

Código:

'Tomar los valores actualizados en los cuadros de texto y reemplazarlos en la base de datos, accionando el botón actualizar.

Private Sub CommandButton1_Click()

ActiveCell.Offset(0, 0).Value = Me.Controls("TextBox1").Value
ActiveCell.Offset(0, 7).Value = Me.Controls("Listbox1").Value
ActiveCell.Offset(0, 8).Value = Me.Controls("TextBox3").Value
ActiveCell.Offset(0, 10).Value = Me.Controls("TextBox4").Value
ActiveCell.Offset(0, 11).Value = Me.Controls("TextBox5").Value
ActiveCell.Offset(0, 12).Value = Me.Controls("TextBox6").Value
ActiveCell.Offset(0, 14).Value = Me.Controls("TextBox7").Value

Unload Me
End Sub

Private Sub UserForm_Activate()

End Sub

'Llenar los cuadros de texto con los datos del registro elegido
Private Sub UserForm_Initialize()
Me.Controls("TextBox1").Value = ActiveCell.Offset(0, 0).Value
Me.Controls("TextBox2").Value = ActiveCell.Offset(0, 7).Value
Me.Controls("TextBox3").Value = ActiveCell.Offset(0, 8).Value
Me.Controls("TextBox4").Value = ActiveCell.Offset(0, 10).Value
Me.Controls("TextBox5").Value = ActiveCell.Offset(0, 11).Value
Me.Controls("TextBox6").Value = ActiveCell.Offset(0, 12).Value
Me.Controls("TextBox7").Value = ActiveCell.Offset(0, 14).Value
End Sub

'Cerrar formulario

Private Sub CommandButton2_Click()
Unload Me
End Sub

1 Respuesta

Respuesta
2

Suponiendo que en el listbox1 tienes los Estados y al momento de seleccionar un estado se debe llenar el textbox4, entonces sería así:

Private Sub ListBox1_Click()
    TextBox4.Value = ListBox1.List(ListBox1.ListIndex)
End Sub


'.[Sal u dos. Dante Amor. No olvides valorar la respuesta. 
'.[Avísame cualquier duda

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas