Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

jardeldint

Erro critico de tipos de variáveis

Recommended Posts

Vejam o código abaixo:

Option Explicit

' CRIA A VARIÁVEL Vm QUE ARMAZENA O VALOR MÍNIMO DE COMPRAS
Dim Vm As Variant

' CRIA A VARIÁVEL Bonus  QUE ARMAZENA OS BONUS REAIS A RECEBER
Dim Bonus As Currency



Sub Calculo()



Bonus = Range(Cells(6, 4), Cells(18, 4)).Value

    If Cells(6, 4) >= 0 And Cells(6, 4) <= 4890.2 Then
               Vm = 250
               Cells(6, 5) = Vm
    End If
    
    If Cells(7, 4) >= 0 And Cells(7, 4) <= 4890.2 Then
               Vm = 250
               Cells(7, 5) = Vm
    End If
    
    If Cells(8, 4) >= 0 And Cells(8, 4) <= 4890.2 Then
               Vm = 250
               Cells(8, 5) = Vm
    End If
    
    If Cells(9, 4) >= 0 And Cells(9, 4) <= 4890.2 Then
               Vm = 250
               Cells(9, 5) = Vm
    End If
    
    If Cells(10, 4) >= 0 And Cells(10, 4) <= 4890.2 Then
               Vm = 250
               Cells(10, 5) = Vm
    End If
    
    If Cells(11, 4) >= 0 And Cells(11, 4) <= 4890.2 Then
               Vm = Bonus + (Bonus * 0.12)
               Cells(11, 5) = Vm
    End If

    If Cells(12, 4) >= 4890.21 And Cells(12, 4) <= 8982 Then
        Vm = Bonus + (Bonus * 0.12)
        Cells(12, 4) = Vm
    End If
    
    If Cells(13, 4) >= 8982.01 And Cells(13, 4) <= 19960 Then
        Vm = Bonus + (Bonus * 0.1)
        Cells(13, 5) = Vm
    End If
    
    If Cells(14, 4) >= 19960.01 And Cells(14, 4) <= 34930 Then
        Vm = Bonus + (Bonus * 0.08)
        Cells(14, 5) = Vm
    End If
    
    If Cells(15, 4) >= 34930.01 And Cells(15, 4) <= 69860 Then
        Vm = Bonus + (Bonus * 0.07)
        Cells(15, 5) = Vm
    End If
    
    If Cells(16, 4) >= 69860.01 And Cells(16, 4) <= 134730 Then
        Vm = Bonus + (Bonus * 0.06)
        Cells(16, 5) = Vm
    End If
    
    If Cells(17, 4) >= 134730.01 Then
        Vm = Bonus + (Bonus * 0.05)
        Cells(17, 5) = Vm
    End If
    
    
End Sub

Tenho uma tabela onde nas células D6 A D18 possui valores monetários que chegam na casa dos milhões de reais. Apenas quero comparar se essa célula estiver nas condições ditas acima, e caso ocorra a condição, escreva nas células E6 a E18, o conteúdo da variável Vm.

Porém está dando uns erros que não estou entendendo.

Se alguém puder me ajudar, ficarei muito grato.

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

E a resposta que te dou é que 

 

NÃO ESTOU ENTENDENDO também

 

por favor, nos fale que erros que são

não fique com essa informação secretamente pra ti

se não, não poderemos te ajudar

Compartilhar este post


Link para o post
Compartilhar em outros sites
Em 15/02/2019 at 14:29, Xevious disse:

E a resposta que te dou é que 

 

NÃO ESTOU ENTENDENDO também

 

por favor, nos fale que erros que são

não fique com essa informação secretamente pra ti

se não, não poderemos te ajudar

Olá Xevious.... obrigado por tentar me ajudar..

Então, os erros são justamente esses..

Da erro 13 (Tempo de Execução e Tipos Incompatíveis), e não deixa executar na tabela.

 

Tem alguma sintaxe q eu usei q está errada? Ou algum tipo de variável que usei q está errada? Se tiver e puder me ajudar, agradecerei muito.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Para facilitar, vou enviar aqui no forum as imagens do arquivo que está me arrancando os cabelos....

Resumindo do que eu quero que o Excel faça...

Na primeira tabela que compreende as celulas A5 a F19 tem os valores padrão, no qual multiplica a qtd de clientes pelo Pedido mínimo mensal e desse resultado, multiplica pelo percentual. Porém existe um pequeno detalhe. Na segunda tabela, que compreende as células H5 a J12, tem as condições do pedido mínimo. Por exemplo: Se na célula D6 tiver um valor acima de 8982.01, deve calcular o Pedido Mínimo Real e no mesmo instante, calcular o bônus que ele vai receber, que seria: (Qtd de Clientes * Pedido Minimo Real) * Percentual.

Porém, qdo faço a depuração, dá erro na linha: "Bonus = Range(Cells(6, 4), Cells(18, 4)).Value". Onde diz que o erro é " erro 13 (Tempo de Execução e Tipos Incompatíveis)".

 

Por favor, alguém me ajude.... se for algum erro de lógica e puderem me ajudar, agradeço mais ainda, pois não sou programador (apenas um fuçador.... na real sou diretor de marketing e preciso entregar essa planilha essa semana sem falta.

calculos-reais-mmnXpedidos.jpg

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por Jazara
      Estou eu aqui no desenvolvimento de meu editor de texto e me deparei com o este bug
      Failed to execute 'surroundContents' on 'Range': The Range has partially selected a non-Text node. solution
       
      surroundContents() este erro as vezes ocorre ao selecionar uma linha para aplicar uma tag. Busquei internet e aqui no fórum sobe este erro, mas ou a pessoa foi ignorada ou o pessoal fica falando de usar o execCommand (descontinuado), então alguém já passou por isso? Tem alguma ideia de como resolver isso?

      Aqui o código completo 
      Em geral quando eu tento selecionar linha 1 ou 2 da caixa de texto 1 ele dá esse erro ao tentar formatar h2, h3, etc
      https://jsfiddle.net/alexandrejazara/v4s21gof/443/
    • Por Marcos Olynyk
      Boa tarde galera.
       
      Alguém sabe me dizer como faço para o input range aparecer como a imagem?
      Preciso criar uma busca com intervalos de valores, gostaria de utilizar essa barra.
      Já procurei varios materiais na internet e não encontrei nada.
      Lembrando que estou utilizando Bootstrap.
       

    • Por GTTJ
      Prezados

      Estou tentando executar a Macro em anexo, porém dá erro 13. Meu Office é 2010 de 64bits. Ela contém API para executar o Menu no formulário.

      Obs.: Peguei esta macro na net e irei personalizar para o que estou querendo fazer. 
       
      Obrigado desde já pela a atenção,
      Form.xlsb
    • Por suelystonn
      Olá pessoal,
       
      Gostaria da ajuda de vocês para fazer alguma função que remova ips que tenham range iguais até a segunda casa e deixe apenas o primeiro ip. Então se eu tenho por exemplo os seguintes ips:
       
      201.173.225.152 201.173.229.20 201.172.154.3 Deveria retornar 201.173.225.152 201.172.154.3 Espero que tenham entendido. Desde já agradeço quem puder me ajudar.
    • Por suelystonn
      Olá pessoal,
       
      Gostaria da ajuda de vocês para fazer alguma função que remova ips que tenham range iguais até a segunda casa e deixe apenas o primeiro ip. Então se eu tenho por exemplo os seguintes ips:
       
      201.173.225.152 201.173.229.20 201.172.154.3 Deveria retornar 201.173.225.152 201.172.154.3 Espero que tenham entendido. Desde já agradeço quem puder me ajudar.
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.