About Me
Seguidores
Estatisticas
222: Excel - A Função ROUNDDOWN() ou ARRED.PARA.BAIXO()
Por mail, fizeram-me a seguinte pergunta (adaptada): "...gostava de incluir a informação ao utilizador quais as medidas a cortar de uma barra para maior aproveitamento, por exemplo: tenho 5 cortes com 112, 1 com 30, 2 com 4 etc etc.. as barras têm 6 metros e a intenção era tirar o maior aproveitamento no corte, para as sobras serem o menor possivel, isto é, escolher valores cuja soma fosse o mais perto possivel dos 6 metros, a mensagem ao utilizador fosse por exemplo: de uma barra cortas 5 com 112 e uma com 30, na outra cortas tantas com tanto e outras ou outra com tanto etc..."
Bom, vejamos a imagem da possível resolução do problema:
As fórmulas:
Em E5: =ARRED.PARA.BAIXO((C1/C5);0)
Em E6: =SE(C6="";"";ARRED.PARA.BAIXO((I5/C6);0))
Em E7: =SE(C7="";"";ARRED.PARA.BAIXO((I6/C7);0))
Em I5: =C1-(C5*E5)
Em I6: SE(C6="";"";I5-(C6*E6))
Em I7: SE(C7="";"";I6-(C7*E7))
Mas, e se não quisermos, no exemplo, cortar as 5 barras da medida 112, mas apenas 4? Como faríamos para, aceitando a alteração, harmonizar o número de cortes relativos às outras medidas?
Vejamos então, o exemplo do que agora referi:
Eis as fórmulas, referentes à coluna I:
Em I5: =SE(F5="";C1-(C5*E5);C1-(C5*F5))
Em I6: =SE(F6="";SE(C6="";"";I5-(C6*E6));SE(C6="";"";I5-(C6*F6)))
Em I7: =SE(F7="";SE(C7="";"";I6-(C7*E7));SE(C7="";"";I6-(C7*F7)))
Tópicos relacionados:
221: VBA - Option Explicit Statement
Se pretendermos utilizar a indicação Option Explicit (Option Explicit Statement), a mesma deve aparecer num módulo antes de todos os procedimentos. Quando a Option Explicit aparece num módulo, devem declarar-se explicitamente todas as variáveis usando as indicações Dim, Private, Public, ReDim, ou Static. Se tentarmos usar uma variável tipo “undeclared”, ocorre um erro na compilação. Se não se utilizar a indicação Option Explicit, todas as variáveis “undeclared” são do tipo Variant, a menos que o tipo seja especificado de outra maneira, por exemplo, com uma indicação de DefType. Por norma, é de utilizar a indicação Option Explicit para evitar incorrecções de digitação do nome de uma variável existente.
Nas opções de VBA, encontra-se uma checkbox, chamada “Require Variable Declaration”:
Seleccionando esta checkbox, fazemos com que o VBA insira a linha “Option Explicit”, no topo de qualquer módulo que criamos. Esta indicação força-nos a declarar todas as variáveis antes de as referirmos no nosso código.
Tópicos relacionados: