¿Como editar datos de de una hoja, extrayendo la información por medio de un listbox?

Para Dante Amor

Buenas tardes, le cuento que estoy trabajando en un aplicativo en excel, este aplicativo parte por la existencia de un proyecto que esta asociado a ordenes de compra, a la vez estas ordenes de compra están asociadas a facturas.

Una odc esta lista cuando el total de sus facturas es igual al total de las odc, ej:

la odc 1 tiene un total de $100, y en el mes llegan 2 facturas cada una de $50,  aqui el estado de la odc = "lista".

Sin embargo un proyecto puede tener varias odc asociadas!, entonces el proyecto estará listo cuando todas sus odc asociadas están "listas"

Lo que deseo hacer primero es cuando seleccione el proyecto del listbox1, se carge por defecto en el listbox 2 la odc asociada al proyecto y su monto.

En algunos casos los montos de las odc no coinciden como debe ser, por esto debe permitir modificar el monto de la odc, para que en el listbox1 aparezca como proyecto listo.

Para eso, en el listbox 2 se deberia poder seleccionar una odc que aparecen, y que se carguen en los txt de abajo, para su modificación y posterior almacenamiento.

Y así poder guardar en una bd todos los datos del proyecto.

1 Respuesta

Respuesta
1

H o l  a:

Envíame tu archivo con el formulario para adaptar la macro

Mi correo [email protected]

En el asunto del correo escribe tu nombre de usuario “Marcos Gabriel” y el título de esta pregunta.

correo enviado!!

H o l a:

Te anexo la parte para poner los datos en el listbox2.

También cuando le des click a un registo del listbox2 te va a llenar los textbox para la edición.

Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
    Dim Cuenta As Integer
    Dim Numero As Integer
    Dim j As Integer
    Dim i As Integer
    '
    Cuenta = Me.ListBox1.ListCount
    '
    'Validamos que haya un elemento seleccionado.
    For j = 0 To Cuenta - 1
        If Me.ListBox1.Selected(j) = True Then
            Numero = Numero + 1
        End If
    Next j
    '
    'La hoja seleccionada se pasará al ListBox de hojas visibles.
    For i = 0 To Cuenta - 1
        If Me.ListBox1.Selected(i) = True Then
            'MsgBox Me.ListBox1.List(i, 1), vbInformation, "EXCELeINFO"
            txtproyecto.Text = Me.ListBox1.List(i, 1)
            txtmarca.Text = Me.ListBox1.List(i, 2)
            txttotalproyecto.Text = Me.ListBox1.List(i, 3)
            Hoja1.Range("J1").Value = Me.ListBox1.List(i, 0)
        End If
    Next i
'CARGAR ODC A LISTBOX2
    ListBox2.Clear
    wkey = ListBox1.List(ListBox1.ListIndex, 0)
    Set h = Sheets("proyectos_excel")
    Set r = h.Columns("F")
    Set b = r.Find(wkey, lookat:=xlWhole)
    If Not b Is Nothing Then
        celda = b.Address
        Do
            ListBox2.AddItem h.Cells(b.Row, "D") 'ODC
            ListBox2. List(ListBox2.ListCount - 1, 1) = h. Cells(b. Row, "A") 'Marca
            ListBox2. List(ListBox2.ListCount - 1, 2) = h. Cells(b. Row, "E") 'Monto
            ListBox2. List(ListBox2.ListCount - 1, 3) = b. Row 'almacena el número de fila
            Set b = r.FindNext(b)
        Loop While Not b Is Nothing And b.Address <> celda
    End If
End Sub

Private Sub ListBox2_Click()
'Por.Dante Amor
    txtodc = ListBox2.List(ListBox2.ListIndex, 0)
    txtmontoodc = ListBox2.List(ListBox2.ListIndex, 2)
End Sub

Si necesitas ayuda para la edición del dato en la hoja de excel, crea una nueva pregunta y me explicas cómo quieres el funcionamiento.

'S aludos. Dante Amor. Recuerda valorar la respuesta. G racias

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas