Cinco Dicas Fáceis Para Criar um Código VBA Mais Claro

Download Cinco Dicas Fáceis Para Criar um Código VBA Mais Claro

Post on 08-Jul-2015

91 views

Category:

Documents

0 download

Embed Size (px)

TRANSCRIPT

<p>Cinco Dicas Fceis Para Criar um Cdigo VBA Mais ClaroEscrito em Tutorial por Jos Alves 16 Comentrios</p> <p>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</p> <p>Use isto:Rows("1:1").Font.Bold = True</p> <p>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)</p> <p>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</p> <p>Range("A" &amp; UltimaLinha + 1).Formula = "=SUM(A2:A" &amp; UltimaLinha &amp; ")"</p> <p>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</p> <p>voc pode fazer a mesma coisa utilizando uma nica instruo:Range("A1").Copy Destination:=Range("C1:C10")</p> <p>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</p> <p>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</p> <p>espero que aporeveitem, e lembrem-se se precisarem de solues profissionais</p>