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

RELATÓRIO LISTVIEW [RESOLVIDO]

Fórum para dúvidas sobre os fundamentos da linguagem de programação Visual Basic no contexto do VBA
Douglas Vargas
Colaborador
Colaborador
Mensagens: 57
Registrado em: Sáb Ago 16, 2014 10:44 am

RELATÓRIO LISTVIEW [RESOLVIDO]

Mensagem por Douglas Vargas »

Olá Amigos,

Tenho um comando para gerar relatório da minha listview. Porém gostaria de gerar o relatório dos primeiros 10 registros contidos na listview, é possível?

Segue o comando:

Sub relatorio()
Plan19.Select
'Range("G1").Value = "TERCEIROS POR FILIAL"
'COMANDO PARA GERAR PROTOCOLO

If TextBox13.Value <> "" Then
Dim i, j As Integer
Plan19.Range(Cells(3, 1), Cells(200, 11)).Select '2 é a linha, 6 COLUNA
Selection.ClearContents

'LOOP PARA LINHAS
For i = 1 To ListView1.ListItems.Count
Plan19.Cells(i + 2, 1) = ListView1.ListItems(i).ListSubItems(1).Text

'LOOP PARA AS COLUNAS
For j = 1 To 1
Plan19.Cells(i + 2, 2) = ListView1.ListItems(i).ListSubItems(3).Text 'FILIAL
Plan19.Cells(i + 2, 3) = ListView1.ListItems(i).ListSubItems(5).Text 'FILIAL
Plan19.Cells(i + 2, 4) = ListView1.ListItems(i).ListSubItems(8).Text 'FILIAL
Plan19.Cells(i + 2, 5) = CCur(ListView1.ListItems(i).ListSubItems(23)) 'FILIAL
Next j
Next i

End if
End sub


Abraço,
Editado pela última vez por Douglas Vargas em Ter Ago 04, 2015 10:39 pm, em um total de 1 vez.


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
Mikel Silveira Fraga
Jedi
Jedi
Mensagens: 1173
Registrado em: Sex Mai 27, 2011 3:27 pm
Localização: Governador Valadares - MG
Contato:

Re: RELATÓRIO LISTVIEW

Mensagem por Mikel Silveira Fraga »

Douglas, bom dia. Como tem passado cara.

Para realizar a alteração proposta, você pode substituir a linha abaixo:

Código: Selecionar todos

'LOOP PARA LINHAS
For i = 1 To ListView1.ListItems.Count
Plan19.Cells(i + 2, 1) = ListView1.ListItems(i).ListSubItems(1).Text
Por este comando:

Código: Selecionar todos

LOOP PARA LINHAS
For i = 1 To 10 'Vai até a linha 10 do ListView.
Plan19.Cells(i + 2, 1) = ListView1.ListItems(i).ListSubItems(1).Text
O código abaixo, também pode ser incrementando. Você pode adicionar uma ComboBox, referente ao número de registros que você quer exibir. e ficaria assim:

Código: Selecionar todos

Dim iLinha as Integer

If ComboBox1.Value = "" then
  iLinha = ListView1.ListItems.Count
Else
  iLinha = ComboBox1.Value
End If

LOOP PARA LINHAS
For i = 1 To iLinha
Plan19.Cells(i + 2, 1) = ListView1.ListItems(i).ListSubItems(1).Text
Dessa forma, se torna dinâmico o número de registros a ser exibido/informado no relatório.

Mande o resultado depois. Abraços.


Douglas Vargas
Colaborador
Colaborador
Mensagens: 57
Registrado em: Sáb Ago 16, 2014 10:44 am

Re: RELATÓRIO LISTVIEW

Mensagem por Douglas Vargas »

Bom Dia Mikel estou bem e por ai como estão as coisas,

Deu muito certo,

Deixei com dois critérios...

Se não ter valor no Textbox ele irá considerar 10 registros, caso contrário vai pelo valor do Textbox....

Vou fazer alguns ajustes e posto o código.....

Abraço e muito obrigado...


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