Ir ao conteúdo

Excel somases com filtro na listbox obtendo critérios do formulário - Resolvido


Ir à solução Resolvido por Midori,

Posts recomendados

Postado

Bom dia amigos do Clube do Hardware! Estou em um aprendizdo de Excel VBA e estou com certa dificuldade em criar um código de filtragem em uma ListBox de um projeto no qual eu obtenho a somatória de tipos distintos de despesas de acordo com o ano em que foram feitas e as pessoas que as fizeram. Ocorre que se insiro o ano na TextBox e seleciono as pessoas e as despesas por elas efetuadas individualmente, estas aparecem na ListBox e é apresentado o valor total na TextBox (Total), porém se insiro o ano e seleciono para que se calcule o total das despesas efetuadas por cada pessoa, a ListBox fica em branco apresentando apenas na TextBox (Total) o valor total das despesas efetuadas pela pessoa indicada. Quando seleciono a despesa total efetuada por determinada pessoa selecionada, quero que as despesas que esta pessoa efetuou apareçam também na ListBox; e não estou conseguindo com que estas sejam mostradas. Ex.: No ano de 2020, Marta_Total, gastou 10660 (valor mostrado na TextBox Total, mas não aparecem na ListBox as despesas (O Ano, Marta_Alimentação, Marta_Lazer e Marta_Vestuário e os valores) que ela fez. Agradeço qualquer ajuda. Estou enviando anexo o código VBA da planilha com o módulo Filtro e as imagens de um esboço da mesma em que estou trabalhando este código. Obrigado!

CÓDIGO PARA OBTENÇÃO DAS SOMATÓRIAS.docx

Postado

Sugestão: disponibilize diretamente aqui no fórum uma amostra do seu arquivo Excel. Imagens não servem.

Postado
1 hora atrás, osvaldomp disse:

Sugestão: disponibilize diretamente aqui no fórum uma amostra do seu arquivo Excel. Imagens não servem.

Obrigado Osvaldo! E perdoe a minha ingenuidade, é que eu posto muito pouco aqui no forum, e como estou neste processo de aprendizado, conto com vocês para me auxiliarem. Segue a planilha no formato .rar como sugerido.

Projeto.Somases-Testes.rar

  • Solução
Postado

 

@WILSON SILVA JUNIOR Você pode usar '*' no filtro, acrescentando um If nesta parte,

 

...

If Right(ComboBox1, 6) = "_Total" Then
    Planilha1.Range("F2") = Mid(ComboBox1, 1, Len(ComboBox1) - 5) & "*"
Else
    Planilha1.Range("F2") = ComboBox1
End If

Call FILTRO

...

 

 

  • Obrigado 1
Postado

@Midori Obrigado Midori! Mais uma vez você me salvou. Eu havia pensado em colocar um "If" no filtro, mas confesso que desconhecia a função MID e não tinha ideia de como fazer o código funcionar. Tentei várias formas mas nenhuma delas deu certo. Você me abriu os olhos, pois agora vou estudar mais a fundo as funções relacionadas às STRINGS. Muitíssimo obrigado Midori!

adicionado 11 minutos depois

Resolvido! A Membro Pleno Midori me mostrou o caminho como uma verdadeira Sensei. ありがとうございました Midori!

  • Curtir 1

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!