About Me

A minha foto
JRod - PORTUGAL
Microsoft [MVP] - Excel (10º ano consecutivo)
Ver o meu perfil completo
Com tecnologia do Blogger.

Seguidores

Estatisticas

Free Blog Counter

eXTReMe Tracker
2008-08-31

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:

 

image

 

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:

image

 

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:

 

 

2008-08-16

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”:

image

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:

2008-08-14

image

SAVE THE DATE