Cargar List box con datos de otra hoja Excel

Nuevamente molestándolo solicito de su ayuda con este problema, tengo un formulario de impresión de guía de remisión en la que al seleccionar el formulario me carga los artículos a un List box del formulario para luego enviarlos la hoja de impresión de la guía . Pero la guía solo puede aceptar 36 artículos lo que necesitaría es cargar el List box solo con 36 artículos y que al realizar la impresión se eliminen de la hoja de datos solo los artículos que han estado en el List box.

En esta hoja pego la información para la impresión de hojas

Esta es la plantilla principal el List box se carga de la hoja "Block Get&Grill" pero como se cargan mas de 36 artículos en el List box, lo que necesitaría es que al cargar el formulario solo se carguen 36 artículos, pero en el formulario puedo editar los artículos como eliminarlos o incluso agregar artículos lo que necesitaría como adicional es que al darle click en imprimir no solo envié la impresión de la guía si no que adicional en la que los artículos que fueron impresos se eliminen de la hoja "Block Get&Grill"

este el código que utilizo para cargar el list box

Private Sub CommandButton1_Click()
Hoja28.Unprotect
Set h1 = Sheets("Guia-Get&Grill")
   u = 9
    For i = 0 To ListBox1.ListCount - 1
        H1.Cells(u, "b") = ListBox1. List(i, 0) 'Cantidad
 h1.Cells(u, "c") = ListBox1. List(i, 1) 'Unidad
 h1.Cells(u, "j") = ListBox1. List(i, 2) 'Descripción
 h1.Cells(u, "k") = ListBox1.List(i, 3)
        u = u + 1
    Next
    h1.Range("i4") = TextBox4.Text
    h1.Range("j4") = TextBox5.Text
    h1.Range("k5") = TextBox2.Value
Call imprimir_guardar1 'impresion de guia remision
Call limpiar_tiendas
Hoja29.Unprotect
   Hoja29.Select
   Rows("2:35").Select
    Hoja29.Unprotect
    Selection.Delete Shift:=xlUp
Hoja28.Select
Hoja28.Protect
Unload Me
End Sub

y este es el código que utilizo para la impresión de la guia

Private Sub CommandButton1_Click()
Hoja28.Unprotect
Set h1 = Sheets("Guia-Get&Grill")
   u = 9
    For i = 0 To ListBox1.ListCount - 1
        H1.Cells(u, "b") = ListBox1. List(i, 0) 'Cantidad
 h1.Cells(u, "c") = ListBox1. List(i, 1) 'Unidad
 h1.Cells(u, "j") = ListBox1. List(i, 2) 'Descripción
 h1.Cells(u, "k") = ListBox1.List(i, 3)
        u = u + 1
    Next
    h1.Range("i4") = TextBox4.Text
    h1.Range("j4") = TextBox5.Text
    h1.Range("k5") = TextBox2.Value
Call imprimir_guardar1 'impresion de guia remision
Call limpiar_tiendas
Hoja29.Unprotect
   Hoja29.Select
   Rows("2:35").Select
    Hoja29.Unprotect
    Selection.Delete Shift:=xlUp
Hoja28.Select
Hoja28. Protect
Unload Me
End Sub

gracias por la atención prestada

Slds

Robert

1 respuesta

Respuesta
1

H o l a:

Pusiste el mismo código 2 veces.

Envíame tu archivo y me explicas con ejemplos lo que necesitas. Tienes que decirme cuál formulario utilizar, qué datos debo poner, qué botones debo presionar, etc, etc.

No olvides poner tu nombre de usuario en el asunto del correo.

Sal u dos

hola dante ,

ya le envié el archivo.

Gracias por la atención prestada

Slds

Robert

Te anexo la macro para cargar solamente 36 registros:

Private Sub UserForm_Initialize()
    Application.ScreenUpdating = False
    Hoja29.Select
    TextBox2 = Date
    TextBox1 = Hoja28.Range("h6")
    TextBox3 = Hoja28.Range("e6")
    TextBox4.SetFocus
    ListBox1.Clear
    ListBox1.ColumnCount = 4
    ListBox1.ColumnWidths = "60;150;20;20"
    Hoja29.Select
    Set h = Sheets("Block Get&Grill")
    'For i = 2 To h.Range("B" & Rows.Count).End(xlUp).Row
    For i = 2 To h.Range("B" & Rows.Count).End(xlUp).Row Step 1
        If i = 38 Then Exit For
        ListBox1. AddItem
        ListBox1. List(ListBox1.ListCount - 1, 0) = h.Cells(i, 1)
        ListBox1. List(ListBox1.ListCount - 1, 1) = h.Cells(i, 2)
        ListBox1. List(ListBox1.ListCount - 1, 2) = h.Cells(i, 3)
        ListBox1. List(ListBox1.ListCount - 1, 3) = h.Cells(i, 4).Text
        ListBox1.List(ListBox1.ListCount - 1, 4) = i
    Next
    Call contador
    Hoja28.Select
    'ListBox1.RowSource = Hoja28.Range("a2:a31")
End Sub

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

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas