Академический Документы
Профессиональный Документы
Культура Документы
Ao criar cdigos em VBA, ou em qualquer outra linguagem de programao, devemos levar em conta a legbilidade de nosso cdigos, existem dois fatores iniciais que precisamos levar em cosiderao quando estamos programando. O primeiro fator que um cdigo mais simples e com menos linha exige menos processamento, ou seja executado mais rpido pelo computador. O segundo fator que, ns precisamos nos lembrar e entender o que fizemos, caso venhamos a precisar alterar nossos programas no futuro. Eu escolhi e adaptei um trecho do livro macros e vba para o Microsoft Excel, escrito por Bill Jelen e Tracy Syrstad, distribuido no Brasil pela editora Campus, que trada de cinco dicas que tornam o nosso cdigo VBA muito mais simples e claros, principalmente cdigos gravados diretamente pelo excel. Dica 1: No selecione nada No existe nada pir do que ter um cdigo que seleciona coisas para que elas recebam uma ao, em VBA raramente temos que fazer isso. Para aplicar a formatao Negrito numa linha da planilha por exemplo, no necessrio selecion-la. Em vez disso:
Rows("1:1").Select Selection.Font.Bold = True
Use isto:
Rows("1:1").Font.Bold = True
Dica 2: Percorra o intervalo de baixo para cima para encontrar a ltima linha A melhor soluo comear da parte inferior da planilha do Excel e pressionar End+up. isso parece simples na interface do excel, j que voc est vendo se est realmente na ltima linha. Para encontrar a ltima linha no excel acostume a utilizar o segunte cdigo:
Cells(Rows.Count, 1).End(xlUp)
Dica 3: Use variveis para evitar codificar linhas e frmulas Por exemplo armazene a ltima linha com dados numa planilha numa varivel para inserir em frmulas, sempre utilize nomes significativos, para esse exemplo UltimaLinha um nome muito sugestivo. O exemplo a seguir captura a ltima linha com dados na coluna A e insere uma soma de A1 at a ultima linha com dados na primeira linha aps a sequencia de dados.
UltimaLinha = Cells(Rows.Count, 1).End(xlUp).Row
Dica 4: Aprenda a copiar e colar em uma nica instruo Se voc gravar uma mcro para copiar um intervalo e colar em outro lugar o cdigo ser parecido com isso:
Range("A1").Select Selection.Copy Range("C1:C10").Select ActiveSheet.Paste
Dica 5: Use With End With se voc estiver executando mltiplas aes para a mesma clula ou intevalo de clulas se voc fosse aplicar linha de totais a formatao de negrito, sublinhado duplo, com uma fonte maiore e uma cor especial, poderia obter um cdigo gravado como este:
Range("A16").Select Selection.Font.Bold = True Selection.Font.Size = 12 Selection.Font.ColorIndex = 5 Selection.Font.Underline = xlUnderlineStyleDoubleAccounting
Como voc tem quatro linhas se referindo ao mesmo objeto, pode nomear o objeto uma vez no comeo do bloco With End With, pode nomear o objeto uma vez no inicio do bloco, tudo o que comear com um ponto dentro do bloco assumido como referente ao objeto with:
With Range("A16").Font .Bold = True .Size = 12 .ColorIndex = 5 .Underline = xlUnderlineStyleDoubleAccounting End With