Vídeo recomendado
https://youtu.be/diWPPPhW-9E
https://youtu.be/diWPPPhW-9E
[RESOLVIDO] Somar quantidade de códigos repetidos - Excel VBA
[RESOLVIDO] Somar quantidade de códigos repetidos - Excel VBA
Olá galera,
Alguém pode me ajudar?
Preciso do código da seguinte função:
Quando for digitado o código de um produto na TextBox1, ele faz uma varredura na coluna "A" da Planilha e soma a quantidade de todos os códigos repetidos que forem localizados e carrega o total na TextBox2.
Obrigado!!!
Alguém pode me ajudar?
Preciso do código da seguinte função:
Quando for digitado o código de um produto na TextBox1, ele faz uma varredura na coluna "A" da Planilha e soma a quantidade de todos os códigos repetidos que forem localizados e carrega o total na TextBox2.
Obrigado!!!
Editado pela última vez por milton em Sáb Jul 16, 2016 1:56 am, em um total de 1 vez.
- Mikel Silveira Fraga
- Jedi
- Mensagens: 1173
- Registrado em: Sex Mai 27, 2011 3:27 pm
- Localização: Governador Valadares - MG
- Contato:
Re: Somar quantidade de códigos repetidos - Excel VBA
Milton, boa tarde.
Para esse caso, pode ser utilizado a função SomaSe, localizado na coleção WorksheetFunction no VBA, que será acionada pelo evento AfterUpdate do TextBox. Seria algo assim:
Entendendo a estrutura da função SumIf:
- Plan1.Columns(1): Coluna da planilha em que se encontram os códigos de referência;
- TextBox1.Value: O código informado como referência, para que a função localize os valores a serem somados;
- Plan1.Columns(2): Coluna da planilha em que se encontram os valores a serem somados.
Adapte a função em sua planilha, faça os testes e nos retorne com o resultado.
Forte abraço e excelente final de semana.
Para esse caso, pode ser utilizado a função SomaSe, localizado na coleção WorksheetFunction no VBA, que será acionada pelo evento AfterUpdate do TextBox. Seria algo assim:
Código: Selecionar todos
Private Sub TextBox1_AfterUpdate()
TextBox2.Value = Application.WorksheetFunction.SumIf(Plan1.Columns(1), TextBox1.Value, Plan1.Columns(2))
End Sub
- Plan1.Columns(1): Coluna da planilha em que se encontram os códigos de referência;
- TextBox1.Value: O código informado como referência, para que a função localize os valores a serem somados;
- Plan1.Columns(2): Coluna da planilha em que se encontram os valores a serem somados.
Adapte a função em sua planilha, faça os testes e nos retorne com o resultado.
Forte abraço e excelente final de semana.
Re: Somar quantidade de códigos repetidos - Excel VBA
Mikel Silveira,
Obrigado pela sua atenção, porém não estou conseguindo fazer funcionar. Pode checar pra mim por favor?
Segue anexo....
Obrigado!
Obrigado pela sua atenção, porém não estou conseguindo fazer funcionar. Pode checar pra mim por favor?
Segue anexo....
Obrigado!
- Anexos
-
- SOMAR QUANTIDADE DE CÓDIGOS REPETIDOS.rar
- (18.88 KiB) Baixado 285 vezes
- Mikel Silveira Fraga
- Jedi
- Mensagens: 1173
- Registrado em: Sex Mai 27, 2011 3:27 pm
- Localização: Governador Valadares - MG
- Contato:
Re: Somar quantidade de códigos repetidos - Excel VBA
Milton, boa noite.
Cara, vendo seu modelo, não tem nada errado na função. O que esta incorreto é o formato como os valores estão sendo inseridos na Coluna J.
O que ocorre que todos os valores que estão com o Pequeno Triângulo Verde na Parte Superior Esquerda, indica que o valor numérico não está no formato de número reconhecido. Apenas as linhas 9 e 10 que estão.
Provavelmente, você terá que rever a forma de inserção dos dados na planilha, de forma que ela sempre seja inserida no formato numérico.
Espero ter ajudado. Bom final de semana.
Cara, vendo seu modelo, não tem nada errado na função. O que esta incorreto é o formato como os valores estão sendo inseridos na Coluna J.
O que ocorre que todos os valores que estão com o Pequeno Triângulo Verde na Parte Superior Esquerda, indica que o valor numérico não está no formato de número reconhecido. Apenas as linhas 9 e 10 que estão.
Provavelmente, você terá que rever a forma de inserção dos dados na planilha, de forma que ela sempre seja inserida no formato numérico.
Espero ter ajudado. Bom final de semana.
Re: Somar quantidade de códigos repetidos - Excel VBA
Mikel Silveira,
Era exatamente este detalhe, os números estavam como texto. Agora deu certo. MUITO OBRIGADO!!!!!
Há alguma fórmula para converter em números, ou não carregar como texto? Por que notei que isso ocorre quando os dados são inseridos na Plan.
Eu uso este código para carregar a Plan.
totalregistro = Worksheets("RELATODIARIO").UsedRange.Rows.Count + 1
Worksheets("RELATODIARIO").Select 'Seleciona a Plan
'Gravação dos dados
Cells(totalregistro, 1) = TxtSequencial
Cells(totalregistro, 2) = Date
Cells(totalregistro, 3) = TxtOrdemProducao
...
Era exatamente este detalhe, os números estavam como texto. Agora deu certo. MUITO OBRIGADO!!!!!
Há alguma fórmula para converter em números, ou não carregar como texto? Por que notei que isso ocorre quando os dados são inseridos na Plan.
Eu uso este código para carregar a Plan.
totalregistro = Worksheets("RELATODIARIO").UsedRange.Rows.Count + 1
Worksheets("RELATODIARIO").Select 'Seleciona a Plan
'Gravação dos dados
Cells(totalregistro, 1) = TxtSequencial
Cells(totalregistro, 2) = Date
Cells(totalregistro, 3) = TxtOrdemProducao
...
- Mikel Silveira Fraga
- Jedi
- Mensagens: 1173
- Registrado em: Sex Mai 27, 2011 3:27 pm
- Localização: Governador Valadares - MG
- Contato:
Re: Somar quantidade de códigos repetidos - Excel VBA
Milton, boa noite.
Uma coisa que pode ser feita é forçar a conversão do valor para Número. Veja abaixo:
Com a função CInt, o valor será convertido para um Número Inteiro (Integer) e gravado na Planilha. Caso precise trabalhar com números decimais, use a função CDbl, que o valor será convertido para Números Decimais (Double).
Espero ter esclarecido.
Abraços.
Uma coisa que pode ser feita é forçar a conversão do valor para Número. Veja abaixo:
Código: Selecionar todos
Cells(totalregistro, 10) = VBA.CInt(TxtQtde)
Espero ter esclarecido.
Abraços.
Re: Somar quantidade de códigos repetidos - Excel VBA
Mikel Silveira boa noite!!
Excelente, minhas necessidades foram sanadas.
Muito obrigado e Deus o abençoe.
Excelente, minhas necessidades foram sanadas.
Muito obrigado e Deus o abençoe.