sexta-feira, 16 de janeiro de 2015

Sorteio em breve


Em fevereiro teremos sorteio para os assinantes da newsletter Tonetto Excel.
Para cadastrar basta inserir seu e-mail na opção ao lado "ARTIGOS POR E-MAIL", ou pelo link abaixo:
E se você já é assinante, fique de olho em seus e-mails para acompanhar mais informações sobre o sorteio.
Abraços,
Anderson Tonetto dos Santos.


Gostou deste artigo? Então compartilhe com seus amigos e assine para RECEBER MAIS DICAS DE EXCEL POR E-MAIL. Fique a vontade para deixar seu comentário.
Informe seu e-mail...

quinta-feira, 15 de janeiro de 2015

Dominando VBA - II

Pessoal,
Hoje darei a melhor dica do ano! E olha que ainda estamos em Janeiro :)
Seguindo a linha do artigo de ontem (leia aqui), vou ensinar uma simplificação de código sensacional! Veja o código abaixo:

Sub VerificaMaioridade()
Dim Idade As Byte
Dim Aux As String
Idade = 18
If Idade > 17 Then
Aux = "maior"
Else
Aux = "menor"
End If 
MsgBox "Usuário " & Aux & " de idade."
End Sub

É um código bem simples. Primeiramente a declaração da variável 'Idade' como Byte (eu não conheço ninguém com mais de 255 anos, e você?) e depois a declaração da variável 'Aux' (de auxiliar) como String, já que é texto.

Então atribuí um valor à variável idade, neste caso 18 anos. Aí é feita uma verificação. Sendo maior que 17 a variável 'Aux' retorna o texto 'maior', caso contrário, retorna menor.

No final é exibida uma caixa de mensagem dizendo se o usuário é maior ou menor de idade (é apenas uma concatenação, exatamente da mesma forma que é feito na planilha, não se assuste!).

Sem problema, né? Agora olhe para o código. Não parece exagero tudo isto de linha para algo tão simples? Eu sei que você concorda comigo, estamos sintonizados. Então vamos simplificar este monstrão aí. Olha como fica:

Sub VerificaMaioridade()
Dim Idade As Byte
Idade = 17
MsgBox "Usuário " & IIf(Idade > 17, "maior", "menor") & " de idade."
End Sub

O quê??? Só isto Anderson??? Pois é... bem melhor, não é mesmo? Perceba que desapareci com a variável 'Aux' e troquei toda a parte do If pela função IIf, concatenada diretamente na frase (que funciona exatamente como a função SE do Excel).

Viiiiish... arrepiou né? Eu avisei que seria o melhor post do ano. \o/

Bom, espero que tenham curtido!
Abraço a todos!


Gostou deste artigo? Então compartilhe com seus amigos e assine para RECEBER MAIS DICAS DE EXCEL POR E-MAIL. Fique a vontade para deixar seu comentário.
Informe seu e-mail...

quarta-feira, 14 de janeiro de 2015

Dominando VBA - I

Conforme vamos evoluindo na programação a tendência é que os códigos fiquem cada vez mais limpos e enxutos. Vamos descobrindo formas mais diretas de fazer as mesmas coisas.
Vou dar um exemplo bem legal. Veja o código abaixo:

Sub TestaValor()
Dim Valor As Long
Valor = 1
If Valor > 0 Then
MsgBox "Valor Positivo"
End If
End Sub

Criei uma variável chamada 'Valor' e a declarei como Long. Depois atribuí o número 1 a esta variável. Então fiz uma verificação. Se o Valor for maior que 0 exibe uma msgbox com o texto 'Valor Positivo'.
Tentei criar o código mais simples possível, sem nenhuma 'frescura' para não assustar os usuários iniciantes.
Agora reescreverei este código de uma forma mais simples:

Sub TestaValor()
Dim Valor As Long
Valor = 1
If Valor > 0 Then MsgBox "Valor Positivo"
End Sub

Percebeu? Posso colocar a ação do If na própria linha, omitindo o End If.
Bem mais limpo, não?
É isto. Espero que tenham curtido!

Gostou deste artigo? Então compartilhe com seus amigos e assine para RECEBER MAIS DICAS DE EXCEL POR E-MAIL. Fique a vontade para deixar seu comentário.
Informe seu e-mail...