Formulario de consulta con listbox y impresión

Buenas noches, saludos tengo algunos problemas con este formulario... Me falta poder imprimir lo que se encuentra en el listbox cuando realizo la consulta, "manda la impresión pero no con todos los datos del filtro" otra cosa es que cuando seleccione el cliente del combobox los datos de código y rif se carguen de manera automática y en total FAC este en formato de moneda... Hay un error que cuando selecciono un cliente que no tiene registro se quedan cargados los datos del cliente que si tiene datos aquí les dejo el archivo: http://goo.gl/P7J79Z

1 respuesta

Respuesta
1

Prueba con lo siguiente para enviar lo que tienes en el listbox a una hoja temporal, imprimir la hoja y eliminar la hoja temporal.

    Application.DisplayAlerts = False
    Application.ScreenUpdating = False
    Set h1 = Sheets.Add
    c = ListBox1.ColumnCount
    f = ListBox1.ListCount
    h1.Range(h1.Cells(1, 1), h1.Cells(f, c)) = ListBox1.List
    h1.PrintOut Copies:=1, Collate:=True
    h1.Delete

Buenas Tardes,

Muy buena respuesta esta VBA es mejor que la que estaba usando... el problema esta en que la impresión me salen todas las columnas no solo las que están en el listbox... ya que hay unas columnas que están ocultas... no es mucho problema pero si se pudiera colocar la página en horizontal para que se muestre toda la información y no solo una parte... seria lo ideal

Quedaría así:

    Application.DisplayAlerts = False
    Application.ScreenUpdating = False
    Set h1 = Sheets.Add
    h1.PageSetup.Orientation = xlLandscape
    c = ListBox1.ColumnCount
    f = ListBox1.ListCount
    h1.Range(h1.Cells(1, 1), h1.Cells(f, c)) = ListBox1.List
    h1.PrintOut Copies:=1, Collate:=True
    h1.Delete

Si no quieres algunas columnas tendrás que eliminarlas, por ejemplo

    Application.DisplayAlerts = False
    Application.ScreenUpdating = False
    Set h1 = Sheets.Add
    h1.PageSetup.Orientation = xlLandscape
    c = ListBox1.ColumnCount
    f = ListBox1.ListCount
    h1.Range(h1.Cells(1, 1), h1.Cells(f, c)) = ListBox1.List
    '
    h1.Columns("F:F").Delete Shift:=xlToLeft
    h1.Columns("C:C").Delete Shift:=xlToLeft
    h1.PrintOut Copies:=1, Collate:=True
    h1.Delete

Deberás borrar de derecha a izquierda


Añade tu respuesta

Haz clic para o

Más respuestas relacionadas