Vídeo recomendado
https://youtu.be/diWPPPhW-9E

imprimir listbox filtrado

Dúvidas gerais sobre Excel
fabiodias
Colaborador
Colaborador
Mensagens: 97
Registrado em: Seg Set 21, 2009 10:25 am

imprimir listbox filtrado

Mensagem por fabiodias »

Tomaz!!

Seguindo o modelo do Filtro para ListBox que está no blog e que foi discutido em um topico aqui do forum, pensei numa melhoria, só não sei direito como fazer..

tentei 2 códigos mas ta faltando algum detalhe que não sei e to procurando ainda..

tem o primeiro codigo q é esse abaixo que imprime a imagem do ListBox:

Private Sub Form_Load()
Form1.PrintForm
End Sub


e tem o outro código que ficaria melhor por que ele copia os dados da listbox para uma outra planilha, porém só copia uma única coluna, o que falta nesse código abaixo para copiar todas as colunas do listbox?

Private Sub ImprimirListBox()
Dim i
Application.ScreenUpdating = False
Workbooks.Add
For i = 1 To Me.ListBox1.ListCount
Cells(i + 1, 1).Value = Me.ListBox1.List(Me.ListBox1.ListIndex + i)
Next
Application.ScreenUpdating = True
End Sub


Desde já agradeço Tomaz!!

Abraço!


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Avatar do usuário
webmaster
Administrador
Mensagens: 3114
Registrado em: Sex Jul 24, 2009 2:44 pm
Contato:

Re: imprimir listbox filtrado

Mensagem por webmaster »

Fabio,

Você quer imprimir o resultado do listbox? Se for isso, imprimir formulários é uma tarefa quase impossível, já que temos problemas com barras de rolagem e tudo mais. Porque não transferimos o conteúdo do ListBox para uma planilha vazia e a imprimimos?

Peguei esse código em outro fórum. Não testei, mas o que pretendemos e pode ser um bom começo:

Código: Selecionar todos

Sub TransferFromListbox()
'Dump contents of selected items into a worksheet
    Dim lngListLoop As Long
    Dim lngRowNum As Long, lngColNum As Long
    
    

    'The row and column numbers here determine the
    'starting cell of where the data will be added.
    'Change to suit your needs.
    
    lngRowNum = 1
    lngColNum = 1
    

    With Me.ListBox1

        For lngListLoop = 0 To .ListCount - 1
            
            If .Selected(lngListLoop) = True Then
                
                Sheets("Sheet1").Cells(lngRowNum, lngColNum) = .List(lngListLoop, 0)
                Sheets("Sheet1").Cells(lngRowNum, lngColNum + 1) = .List(lngListLoop, 1)
                Sheets("Sheet1").Cells(lngRowNum, lngColNum + 2) = .List(lngListLoop, 2)
                
                lngRowNum = lngRowNum + 1
                
            End If
            
        Next

    End With

End Sub
Abraços


fabiodias
Colaborador
Colaborador
Mensagens: 97
Registrado em: Seg Set 21, 2009 10:25 am

Re: imprimir listbox filtrado

Mensagem por fabiodias »

Tomaz!!

Adaptei o codigo naquela mesma planilha de FiltroListbox, da uma olha como ficou.

Só que esse codigo voce tem q selecionar os dados na listbox que quer transferir, aí coloquei como MultSelect, mas depois vou ver se consigo sem precisar selecionar.

Se souber de alguma coisa sem precisar selecionar, só no filtro mesmo.. mas por enquanto ja resolve o problema.

Vlw Tomaz! Agradeço!!
Anexos
Filtra_ListBox_VBA_Custom.rar
(22.55 KiB) Baixado 1020 vezes


Avatar do usuário
webmaster
Administrador
Mensagens: 3114
Registrado em: Sex Jul 24, 2009 2:44 pm
Contato:

Re: imprimir listbox filtrado

Mensagem por webmaster »

Fabio,

Nem cheguei a ver a planilha, mas, no código, a linha que faz com que só os selecionados sejam listados é essa:

Código: Selecionar todos

If .Selected(lngListLoop) = True Then
Tire esse If (e o End If respectivo) que deve funcionar.

Abraços


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


fabiodias
Colaborador
Colaborador
Mensagens: 97
Registrado em: Seg Set 21, 2009 10:25 am

Re: imprimir listbox filtrado

Mensagem por fabiodias »

Tomaz!!

agora sim.. ficou exatamente como imaginei.. muito bom mesmo!!

no modelo do FiltroListBox consegui colocar o codigo pra funcionar blz... só que quando coloco na planilha que to fazendo aqui.. ele transfere o texto só que ele continua piscando o mouse como se tivesse copiando mais coisa e não para mais. Fica executando a macro direto sem parar. Vo fazer mais testes aqui pra ver o q é, por que no modelo do site funcionou muito bem.

mais uma vez Tomaz muito obrigado pela atenção!

abraço!


jovemlima
Consultor
Consultor
Mensagens: 247
Registrado em: Ter Jan 05, 2010 7:20 am

Re: imprimir listbox filtrado

Mensagem por jovemlima »

Ola, desculpe a intromição, mas vc poderia me mostrar como funciona esta planilha, gostaria de colocana ela em uma que estou montando?
Achei muito legal.

SDS
Luiz


fabiodias
Colaborador
Colaborador
Mensagens: 97
Registrado em: Seg Set 21, 2009 10:25 am

Re: imprimir listbox filtrado

Mensagem por fabiodias »

jovemlima,

taí a planilha montada depois da ajuda de Tomaz!!

ficou assim.. depois que pesquisa que aparece os dados no listbox, clica em "Transferir" depois em "Imprimir".
Anexos
Filtra_ListBox_VBA_Custom.rar
(25.39 KiB) Baixado 1202 vezes


jovemlima
Consultor
Consultor
Mensagens: 247
Registrado em: Ter Jan 05, 2010 7:20 am

Re: imprimir listbox filtrado

Mensagem por jovemlima »

Fabio, obrigado. Muito boa mesmo, vou migrar para a planilha que estou montando. Vai ficar legal.

SDS
Luiz


jovemlima
Consultor
Consultor
Mensagens: 247
Registrado em: Ter Jan 05, 2010 7:20 am

Re: imprimir listbox filtrado

Mensagem por jovemlima »

Entao, coloquei esta mesma pergunta no outro topico do mesmo assunto postado aqui. Queria colocar aqui tambem porque neste esta a opção de transferencia.


Teria uma maneira de fazer um filtro por intervalo de data? Tipo de 01/01/2009 a 31/12/2009.
E teria como fazer o filtro reconhecer o formato data? (DD/MM/AAAA)Sem ser texto?

SDS
Luiz


Avatar do usuário
webmaster
Administrador
Mensagens: 3114
Registrado em: Sex Jul 24, 2009 2:44 pm
Contato:

Re: imprimir listbox filtrado

Mensagem por webmaster »

Luiz,

Peço a atenção para evitar duplicar pedidos nos fóruns. Assim mantemos melhor a organização do fórum.

Para este caso, como mencionei anteriormente, é melhor abrir um novo tópico.

Abraços


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Responder