Cargar List View según combo box

Nuevamente solicito su ayuda con el List View aun soy nuevo y no lo entiendo muy bien tengo un formulario con un List view, un combo box y un text box

En la cual en el combo elijo el tipo de puesto y en el text box ingreso la cantidad de horas trabajadas de las cuales lo que necesito es que al seleccionar el nombre del puesto e ingrese la horas trabajadas le doy click en ingresar y se carguen al List View el la columna cantidad el textbox, en la columna área(columna "B" de la hoja empleados ), en la columna puesto(combo box ), en la columna pago día(columna "K" de la hoja empleados) y que la columna pago día se multiplique cantidad y que el resultado se muestre en la columna pago total día del List View

Gracias por la atención prestada

Slds

Robert

2 respuestas

Respuesta
2

H o l a:

Te anexo el código para cargar en el Listview, Si solamente es un registro que tiene el puesto:

Private Sub CommandButton1_Click()
'Por.Dante Amor
    Set h = Sheets("empleados")
    Set r = h.Columns("C")
    Set b = r.Find(ComboBox1, lookat:=xlWhole)
    If Not b Is Nothing Then
        Set Item = ListView1.ListItems.Add(Text:=TextBox1)  'cantidad
        Item.SubItems(1) = h.Cells(b.Row, "B")              'area
        Item.SubItems(2) = ComboBox1                        'puesto
        Item.SubItems(3) = h.Cells(b.Row, "K")              'pago dia
        subt = CDbl(TextBox1) * CDbl(h.Cells(b.Row, "K"))   'cantidad por pago dia
        Item.SubItems(4) = subt
    End If
End Sub

Si son varios registros con el mismo puesto, utiliza la siguiente macro:

Private Sub CommandButton1_Click()
'Por.Dante Amor
    Set h = Sheets("empleados")
    Set r = h.Columns("C")
    Set b = r.Find(ComboBox1, lookat:=xlWhole)
    If Not b Is Nothing Then
        ncell = b.Address
        Do
            'Inicio detalle
            Set Item = ListView1.ListItems.Add(Text:=TextBox1)  'cantidad
            Item.SubItems(1) = h.Cells(b.Row, "B")              'area
            Item.SubItems(2) = ComboBox1                        'puesto
            Item.SubItems(3) = h.Cells(b.Row, "K")              'pago dia
            subt = CDbl(TextBox1) * CDbl(h.Cells(b.Row, "K"))   'cantidad por pago dia
            Item.SubItems(4) = subt
            'Fin detalle
            Set b = r.FindNext(b)
        Loop While Not b Is Nothing And b.Address <> ncell
    End If
End Sub

Si la vas a ejecutar varias veces y quieres limpiar el listview, agrega esta instrucción al inicio de la macro:

ListView1. ListItems. Clear


Respuesta
-1

Te paso unos link con ejemplos

http://www.programarexcel.com/2013/05/llenar-listbox-de-varias-columnas-con.html 

http://www.programarexcel.com/2013/06/llenar-listbox-dependiendo-de-otro.html 

http://www.programarexcel.com/2013/06/listbox-de-excel-de-varias-columnas.html 

http://www.programarexcel.com/p/home.html  acá en encontrarás cientos de ejemplos más.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas