Notifications
Clear all

Adaptar Código

8 Posts
3 Usuários
0 Reactions
1,597 Visualizações
(@vejabem)
Posts: 12
Eminent Member
Topic starter
 

Pessoal, boa tarde!
O código abaixo serve para gerar um relatório a partir de uma ListView. Gostaria de adaptar esse mesmo código para gerar um relatório a partir de uma ListBox. Será que é possível? Alguém tem essa adaptação, por gentileza?

Desde já, obrigado!

On Error Resume Next

Dim i As Integer
Dim j As Integer
Dim Regs As Integer
Dim linha As Long
Dim caminho As String

Application.ScreenUpdating = False
Regs = Me.ListView1.ListItems.Count
Sheets("Imprimir").Select
Range("A2:W30000").Select
Selection.ClearContents

With Selection.Interior
.Pattern = xlNone
.TintAndShade = 0
.PatternTintAndShade = 0
End With

Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
Selection.Borders(xlEdgeLeft).LineStyle = xlNone
Selection.Borders(xlEdgeTop).LineStyle = xlNone
Selection.Borders(xlEdgeBottom).LineStyle = xlNone
Selection.Borders(xlEdgeRight).LineStyle = xlNone
Selection.Borders(xlInsideVertical).LineStyle = xlNone
Selection.Borders(xlInsideHorizontal).LineStyle = xlNone
Range("A2").Select

'Laço das linhas e colunas para extrair os valores da listview e passar para o planilha
For i = 1 To Regs
linha = i + 1
Cells(linha, 1) = Me.ListView1.ListItems(i)
For j = 1 To Me.ListView1.ColumnHeaders.Count - 1
Cells(linha, j + 1) = Me.ListView1.ListItems(i).ListSubItems(j)
Next
Next



'Formata área de impressão
Range("A1:W" & linha).Select
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
With Selection.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.ColorIndex = xlAutomatic
.TintAndShade = 0
.Weight = xlHairline
End With
With Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.ColorIndex = xlAutomatic
.TintAndShade = 0
.Weight = xlHairline
End With
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.ColorIndex = xlAutomatic
.TintAndShade = 0
.Weight = xlHairline
End With
With Selection.Borders(xlEdgeRight)
.LineStyle = xlContinuous
.ColorIndex = xlAutomatic
.TintAndShade = 0
.Weight = xlHairline
End With
With Selection.Borders(xlInsideVertical)
.LineStyle = xlContinuous
.ColorIndex = xlAutomatic
.TintAndShade = 0
.Weight = xlHairline
End With
With Selection.Borders(xlInsideHorizontal)
.LineStyle = xlContinuous
.ColorIndex = xlAutomatic
.TintAndShade = 0
.Weight = xlHairline
End With

Range("A" & linha & ":W" & linha).Select
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.ThemeColor = xlThemeColorDark1
.TintAndShade = -4.99893185216834E-02
.PatternTintAndShade = 0
End With


' Define área de impressão
Range("A1:W" & linha).Select
ActiveSheet.PageSetup.PrintArea = "$A$1:$W$" & linha
Application.ScreenUpdating = True
Range("A2").Select

MsgBox "Relatório gerado com sucesso!", vbInformation, "GERAR RELATÓRIO"
 
Postado : 20/01/2018 10:27 am
(@mprudencio)
Posts: 2749
Famed Member
 

Melhor disponibilizar a planilha com alguns dados e o formulario para que seja possivel realizar alguns testes.

Marcelo Prudencio
Microsoft Excel Brasil no Facebook

"Começar já é a metade do caminho."
Autor Desconhecido

Simplifica que simples fica.
Nicole Tomazella.

"O Simples é Sempre Melhor Que o Complicado"
Jorge Paulo Lemann.

 
Postado : 20/01/2018 11:14 am
(@vejabem)
Posts: 12
Eminent Member
Topic starter
 

Beleza, Marcelo... Segue anexo...

 
Postado : 20/01/2018 12:40 pm
(@mprudencio)
Posts: 2749
Famed Member
 

Em qual listbox?
Com que dados?
De qual guia?

Enfim a planilha precisa de alguns dados para que se possa testar.

Marcelo Prudencio
Microsoft Excel Brasil no Facebook

"Começar já é a metade do caminho."
Autor Desconhecido

Simplifica que simples fica.
Nicole Tomazella.

"O Simples é Sempre Melhor Que o Complicado"
Jorge Paulo Lemann.

 
Postado : 20/01/2018 2:52 pm
(@vejabem)
Posts: 12
Eminent Member
Topic starter
 

Marcelo, me desculpe!

ListBox2

Guia "Filtro3"

Os dados, seriam os dados presentes na ListBox2. Como tenho um filtro de dados, preciso transformar esses dados "filtrados" em um relatório que vai para a guia "Imprimir".

Obrigado!

 
Postado : 20/01/2018 5:43 pm
(@mprudencio)
Posts: 2749
Famed Member
 

De novo amigao:

Onde vai cada informação?

Que informação vai em cada coluna da planilha imprimir?

Essa guia ja deve estar formatada pronta para impressão.

Como esses dados devem ser apresentados na folha de impressão?

A Guia Filtro 3 e a Listbox possuem os mesmos dados.

Não ha nenhum filtro aplicado na execução do formulario, nem tão pouco nenhum campo para filtar nenhuma informação.

Marcelo Prudencio
Microsoft Excel Brasil no Facebook

"Começar já é a metade do caminho."
Autor Desconhecido

Simplifica que simples fica.
Nicole Tomazella.

"O Simples é Sempre Melhor Que o Complicado"
Jorge Paulo Lemann.

 
Postado : 20/01/2018 6:10 pm
(@klarc28)
Posts: 971
Prominent Member
(@vejabem)
Posts: 12
Eminent Member
Topic starter
 

Marcelo...

Klarc28...

Bom dia!

Já consegui resolver o problema... Muito obrigado pela ajuda de vocês!

 
Postado : 22/01/2018 6:53 am