none
Contador de numeros RRS feed

  • Pergunta

  • Bom dia

    Em uma célula, o valor assumido varia entre 1 e 5 dependo da formatação aplicada. Existe algum modo de contar quantas vezes um determinado numero aparece nessa célula e depois zerar o contador?

    Grato

    Ex.:



    • Editado carlito_penna segunda-feira, 13 de janeiro de 2014 15:47
    segunda-feira, 13 de janeiro de 2014 15:46

Respostas

  • Meu caro Durval, a macro em planilha propria roda normal e apresenta os resultados esperados. Mas em conjunto com outras macros na planilha de trabalho, ocorrem os erros visto print abaixo:

    Onde errei?


    Carlito,

    O nome exibido na planilha nem sempre é o nome definido no projeto do VBA. Normalmente, é usado o nome padrão da planilha (por exemplo, "Plan1").

    Segue abaixo um print-screen para esclarecer melhor sua dúvida. Onde à aba que aparece para o usuário tem o nome com "mês/ano" e no projeto tem o nome "Plan ...". Faça o Debug no VBA para identificar o nome do seu ActiveSheet.

    Por favor, não esqueça de votar como útil todos os posts que estão te ajudando nesta solução !

    Abraços,

    Durval Ramos
    Microsoft Partner | MTA - SQL Server 2012
    ----------------------------------
    Se foi resolvido clique "Marcar como resposta" e se foi útil "Votar como Útil"
    terça-feira, 14 de janeiro de 2014 18:14

Todas as Respostas

  • Carlito,

    Você não precisa utilizar VBA para realizar esta operação.

    Se você estiver utilizando Excel em Português utilize a função CONT.SES  (se for em inglês é COUNT.IFS) abaixo em uma célula:

    =CONT.SES(K10:K19;N12)

    Onde o primeiro parâmetro é o intervalo/coluna dos números que você quer contar e o segundo parâmetro é o valor do número que você está procurando. Abaixo segue um print-screen para facilitar o entendimento da questão:

    As informações na fórmula estão destacadas em cores diferentes. Monte este exemplo para que você possa simular com precisão o resultado.

    Se foi útil para sua solução, não esqueça de marcar como resposta !

    Abraços,

    Durval Ramos
    Microsoft Partner | MTA - SQL Server 2012
    ----------------------------------
    Se foi resolvido clique "Marcar como resposta" e se foi útil "Votar como Útil"
    segunda-feira, 13 de janeiro de 2014 21:22
  • Durval, esse contador tem uma característica que o cont.ses não faz: Ele conta, acumula e conserva o somatório em uma unica célula. O cont.ses, apenas retorna o quantitativo de determinado numero. 

    Ex.:

    Se na célula G4 aparece o 1, fica lá o 1, se houver nova ocorrência do numero 1, agora o somatório desse numero é 2 e assim sucessivamente para qualquer numero que apareça em G4.

    segunda-feira, 13 de janeiro de 2014 22:27
  • Durval, esse contador tem uma característica que o cont.ses não faz: Ele conta, acumula e conserva o somatório em uma unica célula. O cont.ses, apenas retorna o quantitativo de determinado numero. 

    Ex.:

    Se na célula G4 aparece o 1, fica lá o 1, se houver nova ocorrência do numero 1, agora o somatório desse numero é 2 e assim sucessivamente para qualquer numero que apareça em G4.

    Carlito,

    Poderia indicar então outro exemplo baseado em sua descrição?

    Indique uma coluna com alguns valores na situação de repetição e outra coluna com o resultado esperado para que possamos dar uma sugestão de solução.

    Abraços,

    Durval Ramos
    Microsoft Partner | MTA - SQL Server 2012
    ----------------------------------
    Se foi resolvido clique "Marcar como resposta" e se foi útil "Votar como Útil"
    segunda-feira, 13 de janeiro de 2014 23:08
  • segunda-feira, 13 de janeiro de 2014 23:34
  • Carlito,

    Você vai precisar fazer uma fórmula em uma das células e criar uma macro para seu botão.

    A fórmula é a seguinte:

    =ALEATÓRIOENTRE(MENOR(H11:H17;1);MAIOR(H11:H17;1))
    Onde o Range está seus números de Referência e a fórmula irá buscar um número aleatório entre o menor e o maior destes.


    No botão, você vai inserir a macro abaixo para que os valores permaneçam na referentes células de Ocorrências, somando o valor aleatório e atualizando para o próximo número aleatório.

    A macro é a seguinte:

    Sub Macro3()
    
        Select Case Plan1.Cells(15, 6)
            Case 0
                Plan1.Cells(11, 9) = CInt(Plan1.Cells(11, 9)) + 1
                Exit Sub
            Case 1
                Plan1.Cells(12, 9) = CInt(Plan1.Cells(12, 9)) + 1
                Exit Sub
            Case 2
                Plan1.Cells(13, 9) = CInt(Plan1.Cells(13, 9)) + 1
                Exit Sub
            Case 3
                Plan1.Cells(14, 9) = CInt(Plan1.Cells(14, 9)) + 1
                Exit Sub
            Case 4
                Plan1.Cells(15, 9) = CInt(Plan1.Cells(15, 9)) + 1
                Exit Sub
            Case 5
                Plan1.Cells(16, 9) = CInt(Plan1.Cells(16, 9)) + 1
                Exit Sub
            Case 6
                Plan1.Cells(17, 9) = CInt(Plan1.Cells(17, 9)) + 1
                Exit Sub
        End Select
    
    End Sub

    Segue o print-screen como evidência de teste.

    Abraços,

    Durval Ramos
    Microsoft Partner | MTA - SQL Server 2012
    ----------------------------------
    Se foi resolvido clique "Marcar como resposta" e se foi útil "Votar como Útil"
    • Sugerido como Resposta Durval Ramos terça-feira, 14 de janeiro de 2014 19:06
    terça-feira, 14 de janeiro de 2014 12:07
  • Boa tarde

    Muito boa a solução apresentada. Vou deixar o tópico aberto por enquanto e retorno mais tarde.

    Grato

    terça-feira, 14 de janeiro de 2014 14:50
  • Meu caro Durval, a macro em planilha propria roda normal e apresenta os resultados esperados. Mas em conjunto com outras macros na planilha de trabalho, ocorrem os erros visto print abaixo:

    Onde errei?


    • Editado carlito_penna terça-feira, 14 de janeiro de 2014 18:05
    • Sugerido como Resposta Durval Ramos terça-feira, 14 de janeiro de 2014 19:06
    terça-feira, 14 de janeiro de 2014 18:04
  • Meu caro Durval, a macro em planilha propria roda normal e apresenta os resultados esperados. Mas em conjunto com outras macros na planilha de trabalho, ocorrem os erros visto print abaixo:

    Onde errei?


    Carlito,

    O nome exibido na planilha nem sempre é o nome definido no projeto do VBA. Normalmente, é usado o nome padrão da planilha (por exemplo, "Plan1").

    Segue abaixo um print-screen para esclarecer melhor sua dúvida. Onde à aba que aparece para o usuário tem o nome com "mês/ano" e no projeto tem o nome "Plan ...". Faça o Debug no VBA para identificar o nome do seu ActiveSheet.

    Por favor, não esqueça de votar como útil todos os posts que estão te ajudando nesta solução !

    Abraços,

    Durval Ramos
    Microsoft Partner | MTA - SQL Server 2012
    ----------------------------------
    Se foi resolvido clique "Marcar como resposta" e se foi útil "Votar como Útil"
    terça-feira, 14 de janeiro de 2014 18:14
  • Tem razão, havia esquecido desse detalhe. Meus agradecimento pela ajuda.

    terça-feira, 14 de janeiro de 2014 19:04