Salve galera.
Férias acabando, novos rumos e um novo post para todos.
Seguinte galera, durante o Desenvolvimento de uma Complexa e demorada aplicação, me deparei com o fato de imprimir um ListBox...
Depois de muitas horas perdidas, quebrando a cabeça, desenvolvendo um codigo bastante complexo, chequei a conclusão: Meu codigo não iria funcionar de tão complexo que estava.
Esfriei a cabeça, pensei muito, gastei os ticos e os tecos e olhem só! Tchan! Um estalo! um raio caiu na minha cabeça...
Encontrei a solução, em poucas linhas, poucos codigos e tudo funcional e personalizado para a sua aplicação.
Então vamos colocar as Mãos no Codigo e Mãos a Obra galera.
Olhem como ficou bastante simples e de facil compreensão.
Basta ter o seu ListBox já com as devidas buscas conforme sua necessidade e um CommandButton para impressão e uma planilha na sua aplicação com o nome de Impressão.
Nada mais que isso:
Lembre - se que seu ListBox já deve estar configurado com sua pesquisa
1 ListBox
1 CommandButton
Uma planilha para impressão
Dentro do CommandButton, insira o codigo abaixo:
' Comentário: Aqui são os Campos do Seu ListBox, muitos usam Labels para isso, então necessitam deste codigo tambem
' Range no nosso caso, é onde vamos começar a imprimir o listxbox linha um da planilha A;B;C e D são as colunas
Range("A1").Select
ActiveCell.Value = "Seu Primeiro Campo"
Range("B1").Select
ActiveCell.Value =" Seu Segundo Campo"
Range("C1").Select
ActiveCell.Value = "Seu Terceiro Campo"
Range("D1").Select
ActiveCell.Value = "Seu Quarto Campo"
' Aqui tem inicio a programação responsavel pela impressão dos dados na Planilha reservada para isso, pois, é necessário rever os dados.
Dim i
"Aqui o comando que busca a sua planilha de impressão e deixa os dados para voce
Application.ScreenUpdating = False
' Mude o List_dados abaixo para o seu ListBox...
' Note que se faz necessário a numeração para ordenar a seguencia de impressão
' No fin da linha, note que já estão os campos do ListBox que serão lançados na planilha para impressão...
For i = 1 To Me.List_dados.ListCount
Cells(i + 1, 1).Value = Me.List_dados.List(Me.List_dados.ListIndex + i, 1)
Cells(i + 1, 2).Value = Me.List_dados.List(Me.List_dados.ListIndex + i, 2)
Cells(i + 1, 3).Value = Me.List_dados.List(Me.List_dados.ListIndex + i, 3)
Cells(i + 1, 4).Value = Me.List_dados.List(Me.List_dados.ListIndex + i, 4)
' Aqui é onde buscamos mais campos referentes a sua pesquisa como a proxima linha de dados encontrados
Next
' Aqui o fim dos lançamentos na planilha de impressão...
Application.ScreenUpdating = True
Fim do codigo...
Finalizando...
Personalize o codigo a seu gosto, a planilha a seu gosto, seja criativo...
Deixo claro que o codigo é livre para ser personalizado para sua aplicação.
Valeu galera, até nosso proximo post e lembrem - se:
O Conhecimento é para ser compartilhado com todos!.
Obrigado Tomas pelo espaço de divulgação.
Grande abraço a todos.
Vídeo recomendado
https://youtu.be/diWPPPhW-9E
https://youtu.be/diWPPPhW-9E