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

Pesquisa dupla na mesma coluna

Esclarecimentos e dúvidas sob o Modelo de Aplicativo de Cadastro em VBA no Microsoft Excel publicado no site e blog http://www.tomasvasquez.com.br
Neri

Re: Pesquisa dupla na mesma coluna

Mensagem por Neri »

Tomás

Realmente o seu relatorio ficou ótimo....

Agora abusando mais um pouco: no seu listbox tem como inserir totais? Supondo que as colunas D e E fosse necessário adicionar um total após a última linha.
Eu encontrei um somatotal mas não consegui adaptar.
E outra coisa: estou a procura de alinhamentos das colunas pois como a listbox tem valores como exemplo R$ 2,00 ou outros R$ 1.235,00 entre outros, ficar totalmente desalinhado, outras vezes não consigo colocar o "R$" ou os zeros do valor. Tem algo publicado neste sentido?

Sei que já é abusar demais da sua vontade. Desculpe. Mas sempre temos que correr atrás de melhorias.
Abraço
Nerí


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: Pesquisa dupla na mesma coluna

Mensagem por webmaster »

Neri,

Quanto a suas dúvidas, o melhor jeito de fazer tudo o que está pedindo é manipulando os dados via SQL antes de eles chegarem no ListBox. Existem diversas funções como SUM de colunas ou mesmo o Format, que permite fazer a formatação de campos e até concatenação de valores.

Só a título de exemplo, o SQL abaixo recupera o dados de duas colunas e produz uma terceira com o produto das duas:

Código: Selecionar todos

SELECT
	Valor,
	Quantidade,
	(Valor * Quantidade) as 'Total'
FROM
	Produtos
Abraços


Neri

Re: Pesquisa dupla na mesma coluna

Mensagem por Neri »

Tomas
não sei se me expressei bem. Tenho uma coluna de valores (coluna D) e preciso um total após a última linha. Também a minha coluna E após a última linha, preciso um total.

Veja
Coluna D Coluna E
5,00 12,00
15,00 125,00
TOTAL 20,00 137,00

Além disto procuro uma maneira de alinhar os valores, um abaixo do outro. Vc sabe algum lugar que tenha exemplos?
Abraço


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

Re: Pesquisa dupla na mesma coluna

Mensagem por webmaster »

Neri,

Entendi. Recomendo que não use o listbox para mostrar essas informações. O listbox, nesse caso, é focado em armazenar os dados de resultado da consulta. Nisso podem se basear contagem de registros, ordenação e outras coisas. Sugiro que coloque esses valores em controles label ou textbox mesmo.

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.


Neri

Re: Pesquisa dupla na mesma coluna

Mensagem por Neri »

Tomas,
veja só o comando que eu consegui:

Private Sub UserForm_Initialize()
'preenche o cboDirecao e seleciona o primeiro item
cboDirecao.Clear
cboDirecao.AddItem "Ascendente"
cboDirecao.AddItem "Descendente"
cboDirecao.ListIndex = 0

Call PopulaListBox(vbNullString, vbNullString, vbNullString, vbNullString, vbNullString, vbNullString)

' comandos para ajustar as colunas
lstLista.Clear
Dim Cont, UltimaLinha
UltimaLinha = Plan1.Range("A65000").End(xlUp).Row
For Cont = 1 To UltimaLinha
Me.lstLista.AddItem Plan1.Range("A" & Cont)
Me.lstLista.List(Me.lstLista.ListCount - 1, 1) = Plan1.Range("B" & Cont)
Me.lstLista.List(Me.lstLista.ListCount - 1, 2) = Plan1.Range("C" & Cont)
Me.lstLista.List(Me.lstLista.ListCount - 1, 3) = Plan1.Range("D" & Cont)
Me.lstLista.List(Me.lstLista.ListCount - 1, 4) = Plan1.Range("E" & Cont)
Me.lstLista.List(Me.lstLista.ListCount - 1, 5) = Plan1.Range("F" & Cont)
Me.lstLista.List(Me.lstLista.ListCount - 1, 6) = Plan1.Range("G" & Cont)
Me.lstLista.List(Me.lstLista.ListCount - 1, 7) = Right(Space(16) & Format(Plan1.Range("H" & Cont), "R$ #,0.00"), 12)
Me.lstLista.List(Me.lstLista.ListCount - 1, 8) = Plan1.Range("I" & Cont)
Me.lstLista.List(Me.lstLista.ListCount - 1, 9) = Plan1.Range("J" & Cont)
Next

End Sub

Obs.: Quando coloco este comando no Initialize funciona certo. Mas ao clicar no filtrar ele (logicamente) perde a função.

Entendi a sua observação (textbox e label). Vou ter que estudar esta maneira, pois não sei como fazer. Mas vou pesquisar.
Abraço


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

Re: Pesquisa dupla na mesma coluna

Mensagem por webmaster »

Neri,

Coloque-o dentro do PopulaListBox e veja o que acontece. Não dúvida existe o Ctrl+Z certo? ;)

Abraços


Neri

Re: Pesquisa dupla na mesma coluna

Mensagem por Neri »

Dentro do Private Sub PopulaListBox o comando simplesmente é ignorado, como se não existisse.


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

Re: Pesquisa dupla na mesma coluna

Mensagem por webmaster »

Neri,

Na depuração acusa alguma coisa?

Abraços


Neri

Re: Pesquisa dupla na mesma coluna

Mensagem por Neri »

Não, simplesmente não faz nada. Me dá um endereço que te passo um pequeno exemplo.
Abraço


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

Re: Pesquisa dupla na mesma coluna

Mensagem por webmaster »

Neri,

Faça Upload do arquivo em zip aqui no forum mesmo.

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