Transcript

Cinco Dicas Fceis Para Criar um Cdigo VBA Mais ClaroEscrito em Tutorial por Jos Alves 16 Comentrios

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

Range("A" & UltimaLinha + 1).Formula = "=SUM(A2:A" & UltimaLinha & ")"

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

voc pode fazer a mesma coisa utilizando uma nica instruo:Range("A1").Copy Destination:=Range("C1:C10")

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

espero que aporeveitem, e lembrem-se se precisarem de solues profissionais


Top Related