none
VBA RRS feed

  • Pergunta

  • Boa tarde,

    Estou a tentar fazer uma funçao  que me devolva o número de bicicletas de uma dada marca. Se me conseguissem ajudar era otimo. Obrigado.

    sábado, 6 de janeiro de 2018 18:10

Todas as Respostas

  • Option Explicit
    
    Public Function RetornaNumero(ByVal marca As String) As Integer
    Dim Numero As Integer
    If marca = "A" Then
    Numero = 5
    End If
    If marca = "B" Then
    Numero = 10
    End If
    RetornaNumero = Numero
    
    End Function
    
    Sub teste()
    
    MsgBox RetornaNumero("A")
    
    End Sub
    


    A melhor forma de agradecer e votar como util e / ou marcar como resposta. Anderson Diniz diniabr2011@gmail.com

    • Sugerido como Resposta AndersonFDiniz2 sábado, 6 de janeiro de 2018 21:27
    sábado, 6 de janeiro de 2018 21:27
  • Olá Ajuda1234,

    Com os meus alunos eu comento que só vale a pena usar o VBA quando o que você precisa não tem ou é mais fácil com o VBA, no seu caso eu acredito que a função cont.ses é o ais indicado.

    =cont.ses(Intervalo de procura;Critério), por Exemplo:

    =cont.ses(A2:A1000;"Caloi")

    Espero que ajude com a função cont.ses, mas segue abaixo o código da função para contar Marcas que pode ser usada no VBA ou no próprio Excel.

                

    Public Function ContarMarcas(Intervalo As Range, Marca As String) As Double
        Dim cel As Range
        Dim qtd As Double

    'Percorre cada célula do intervalo selecionado e retorna a quantidade encontrada
        For Each cel In Intervalo
            'Como no VBA ele diferencia maiúsculas de minúsculas desta forma eliminamos o problema com Lcase
            If LCase(cel) = LCase(Marca) Then
                qtd = qtd + 1
            End If
        Next cel
        'Retorna o valor final
      ContarMarcas = qtd
    End Function

    Sub usarFuncao()
          Debug.Print ContarMarcas(Range("A1:A1000"), "Caloi")
    End Sub

    Espero que ajude e fico a disposição.

    Márcio Diniz

    domingo, 7 de janeiro de 2018 02:55