Notifications
Clear all

[Resolvido] Calculo Automático na TextBox

6 Posts
3 Usuários
2 Reactions
1,075 Visualizações
(@rafael-gois)
Posts: 2
New Member
Topic starter
 

Olá,

 

Estou tentando realizar um calculo para eficiência de máquina na minha planilha.

 

Preciso que no Campo Eficiência Atual seja executado o seguinte cálculo automático:  Eficiência Atual = ( Termino - Inicio) / ( Teórico * Repetições)

 

Se alguem puder me ajudar estou disponibilizado em anexo. Obrigado

 
Postado : 28/12/2021 10:17 am
EdsonBR
(@edsonbr)
Posts: 1057
Noble Member
 

Boa tarde e bem vindo, @Rafael-gois

Estou sem tempo agora pra solucionar totalmente a demanda, mas como vi que vc se vira bem no VBA, algumas coisas que identifiquei em seu código e que vc pode ir resolvendo, especialmente na Sub CalculoEfatual():

  • Dimensione as variáveis Teorico, Inicio* e Termino como As Date e não As Double pois fica mais simples efetuar os cálculos depois;
  • Cuidado com os nomes das variáveis: vc dimensionou uma variável como *Incio (faltou o "i"). Use sempre o Option Explicit no topo do código para forçar declarar as variáveis;
  • Use a função de conversão CDate para converter as Strings das TextBox para Dates;
  • Atenção para o fato do VBA não lidar com datas e horas exatamente como o Excel, embora sejam bem semelhantes: lá no Excel, vc pode inserir tranquilamente horas maiores que 24 que o Excel automaticamente transforma em uma data válida considerando cada múltiplo de 24 como um dia a mais à partir de 01/01/1900. Já no VBA, acusaria um erro se vc tentasse converter, por exemplo, CDate("25: 00: 00 "). Portanto tem que considerar tratamento dessa situação no seu código;
  • Ao final, para formatar a saída em porcentagem, vc poderá usar a função Format, mais ou menos assim:
    txtEfatual.Value = Format(Total, "0.00%");
  • Outras funções do VBA que podem ser úteis em seu código: IsDate, TimeSerial, TimeValue, DateAdd, a divisão inteira ou quociente n1\n2 e a função n1 Mod n2.
  • Obs.: os espaços extras em algumas descrições e fórmulas é pra tentar burlar o mau funcionamento do mecanismo deste fórum**.

(**@eron, temos que consertar isso urgentemente! É um fórum predominantemente de fórmulas e códigos as fórmulas estão ficando sem sentido, erradas, sistematicamente. De onde vem essa "autocorreção" inútil? Não existia esse problema antes).

 
Postado : 28/12/2021 4:38 pm
Rafael Gois reacted
(@anderson)
Posts: 203
Reputable Member
 

@rafael-gois

Em 90% dos casos em que não se anexa o arquivo, ocorrem mal-entendidos, gerando perda de tempo de ambos os lados.

 
Postado : 28/12/2021 5:50 pm
(@rafael-gois)
Posts: 2
New Member
Topic starter
 

@edsonbr Muito Obrigado pelas dicas. Estou começando a entrar nesse mundo VBA. Aplicarei suas ideias e retorno se conseguir o resultado esperado.
Obrigado!

 
Postado : 29/12/2021 11:21 am
(@rafael-gois)
Posts: 2
New Member
Topic starter
 

@anderson Muito Obrigado. Tinha tentado fazer através das labels porém essa questão da declação e conversão das horas me travaram.
Obrigado pela dica!

 
Postado : 29/12/2021 11:23 am
(@rafael-gois)
Posts: 2
New Member
Topic starter
 

@edsonbr Consegui fazer, levei em consideração sua dica de conversão de data e realizei o código.

 
Postado : 29/12/2021 10:06 pm
EdsonBR reacted