Calculadora de IMC

Segue um projetinho simples.

Como fazer uma calculadora de IMC (Índice de massa corporal), utilizando formulários em Excel.

Com Alt + F11, abrimos o editor do VBA.

Inserir -> Userform

Vai abrir um formulário. Este formulário tem várias propriedades. Mudar a propriedade Caption (título) para IMC.

Na caixinha de controles, um deles é o label (um texto simples) e outro é uma caixa de texto (para input de dados).

Basta clicar no controle e inserir no formulário.

Inserir os elementos e posicionar no formulário.

No botão rodar, vai o código  que faz o cálculo.

Se a caixinha de texto se chama TxtPeso, para acessar o valor é TxtPeso.Value.

O IMC é o peso pela altura ao quadrado.

imc = peso / (altura ^ 2)

Pela tabela abaixo, temos a recomendação do IMC.

Resultado de imagem para imc tabela

E o resultado final é algo assim:

Link para download: https://drive.google.com/file/d/1DwMTDTahuvRk7JLeInMgdviUexA6bVuq/view?usp=sharing

Private Sub CommandButton1_Click()

Dim imc As Double

Dim peso As Double

Dim altura As Double

Dim texto As String

Dim txtAlt As String

If Information.IsNumeric(TxtPeso.Value) Then

    peso = TxtPeso.Value

Else

    MsgBox “Informar valor numérico para o peso”

    Exit Sub

End If

If Information.IsNumeric(TxtAltura.Value) Then

     altura = TxtAltura.Value

Else

    MsgBox “Informar valor numérico para a altura”

    Exit Sub

End If

imc = Math.Round(peso / (altura ^ 2), 1)

If imc < 17 Then

    texto = “IMC = ” & imc & “, Peso muito abaixo do ideal”

ElseIf imc < 18.5 Then

    texto = “IMC = ” & imc & “: Peso  abaixo do ideal”

ElseIf imc < 25 Then

    texto = “IMC = ” & imc & “: Peso normal”

ElseIf imc < 30 Then

    texto = “IMC = ” & imc & “: Acima do peso”

ElseIf imc < 35 Then

    texto = “IMC = ” & imc & “: Obesidade I”

ElseIf imc < 40 Then

    texto = “IMC = ” & imc & “; Obesidade II (severa)”

Else

    texto = “IMC = ” & imc & “: Obesidade III (mórbida)”

End If

Label3.Caption = texto

End Sub

Ideias técnicas com uma pitada de filosofia

http://ideiasesquecidas.com

Clusterização

O K-means é um algoritmo de clusterização.

Clusterizar significa dividir uma amostra em grupos.

Ele é mais ou menos assim:

– diga quantos grupos você quer formar (N)

– escolha N indivíduos aleatórios do grupo (cada um será tipo o cabeça do grupo)

– para cada indivíduo restante, veja quem é o líder mais próximo

– avalie a qualidade da dispersão

– repita várias vezes, ficando com o melhor

Utilizei este algoritmo num projeto antigo, que se propunha a dividir igualmente uma região por um número N de técnicos.

Fica o arquivo de exemplo, aqui.

Cicloide em Excel – VBA

Um exerciciozinho de Excel – VBA – pode ser útil para fazer animações em geral.

Imagine um círculo rolando. Qual a curva descrita por um ponto fixo neste círculo? O nome desta curva é cicloide.

O VBA (aqui) plota uma animação, com o círculo girando e a curva gerada.

Tem dois parâmetros:

  • Raio do ponto (100% = ponto na superfície do círculo, menos que isso = ponto dentro do círculo).
  • Velocidade da animação (porque cada computador é diferente e a animação pode ficar ruim)

Quando o raio é zero, quer dizer que o ponto está no centro do círculo, e a cicloide é uma linha reta.

É necessário ativar macros para rodar.


Ideias técnicas com uma pitada de filosofia: https://ideiasesquecidas.com

Ferramentas Excel-VBA: https://ferramentasexcelvba.wordpress.com/

Como escolher cores arbitrárias no Excel

O Excel oferece muitas cores em sua paleta, porém é possível escolher arbitrariamente uma cor.

Em página inicial -> cores do tema, escolher Mais cores…

Vai aparecer o menu de cores. Ir na aba Personalizar.

Vai aparecer para preencher o código RGB da cor. Este número é uma combinação de Vermelho (Red), Verde (Green) e Azul (Blue), numa escala de 0 a 255 para cada cor (não por coincidência, 256 = 2^8).

Digamos que eu goste da cor amarelo ouro. Esta tem código RGB = (249, 166, 2).

E como saber o código RGB das cores? A internet tem várias fontes, mas para ajudar, o arquivo excel aqui é um simuladorzinho de cores RGB.

É necessário ativar macros para rodar.


Ideias técnicas com uma pitada de filosofia: https://ideiasesquecidas.com

Ferramentas Excel-VBA: https://ferramentasexcelvba.wordpress.com/

Colar vínculo e cortar para demarcar forma

Esta técnica pode ser útil para criar dashboards no Excel. É possível copiar um range de células e colar como vínculo – se mudar algo na fonte, a imagem irá atualizar de modo equivalente.

Digamos que quero vincular o range abaixo.

Iniciamos copiando (CTRL+C) a região.

Em Colar -> Colar vínculo da imagem, teremos uma cópia em imagem da região afetada. Só uma imagem retangular é comum demais. Podemos fazer algo mais sofisticado.

Em Formatar -> Cortar -> Cortar para demarcar forma, é possível mudar a forma da imagem. Desse modo, podemos ter uma imagem vinculada à fonte com um formato de shape que ajude a ilustrar as nossas ideias. Vide anexo.


Ideias técnicas com uma pitada de filosofia: https://ideiasesquecidas.com

Ferramentas Excel-VBA: https://ferramentasexcelvba.wordpress.com/

Quantas bobinas cabem num contêiner?


No comércio exterior, o termo “estufar” o contêiner significa colocar a carga dentro do contêiner.

Bobinas de pé, num contêiner, podem ser modeladas puramente por geometria.

O algoritmo (download aqui) pede as dimensões do contêiner, as características das bobinas, e sugere o arranjo ideal, restrito ao espaço disponível e à carga máxima permitida.

Outro exemplo:

Há softwares comerciais que fazem isto (ex. Max Load), fazendo também a composição de diferentes tipos de bobinas, e também é possível colocar bobinas deitadas, etc. Entretanto, são softwares bem mais complicados para usar. Para a aplicação simples como o caso acima, o algoritmo do anexo funciona.

Cuidado: só vale para bobinas em pé.


Ideias técnicas com uma pitada de filosofia: https://ideiasesquecidas.com

Ferramentas Excel-VBA: https://ferramentasexcelvba.wordpress.com/

Ferramentas Excel-VBA: https://ferramentasexcelvba.wordpress.com/


Comparação de palavras

Ferramenta Excel-VBA para comparar palavras (strings).

Link para dowload:

https://drive.google.com/open?id=0B7qV4XXADYw2UWNLLW9weUZPUzA


ComparaStrings.JPG

Dada uma lista de palavras, o algoritmo calcula o quão diferentes são as combinação de palavras da lista.

Por exemplo, Marrocos e Martocos são diferentes num fator 0,12 (quanto mais próximo de zero, mais semelhantes.

Já Martocos e Notebook, não tem nada haver, um fator de 0,62.

Este algoritmo pode ser útil para verificar repetições em cadastro de materiais, por exemplo.

Arnaldo Gunzi.


Ideias técnicas com uma pitada de filosofia: https://ideiasesquecidas.com

Ferramentas Excel-VBA: https://ferramentasexcelvba.wordpress.com/