0184-Dica VBA: Comentando seus códigos

Comentar seus códigos é a melhor maneira de torná-los compreensíveis.

Embora muitos pensem que isso só é válido para os casos em que outros usuários irão visualizar os códigos, isso é importante para o próprio desenvolvedor.

Alguns motivos:

Destacar que todas as ações previstas no escopo estão sendo realizadas: Quando documentamos adequadamente, podemos facilmente verificar se tudo que o código precisa fazer está efetivamente ocorrendo. Crie marcações para seções. Destaque pontos importantes. Essas medidas ajudam a garantir a concretização de um bom projeto

Nossa memória não é infalível: Quando retornamos a um código, muito tempo depois de tê-lo criado, fica muito mais fácil entendermos a sequência de pensamentos se tivermos deixado o código comentado. Quem já teve que revisar um código meses, ou até anos, depois de tê-lo feito, por que houve uma mudança em um relatório, ou por uma mudança de versão do Excel, sabe do que estou falando. Recompor os passos fica muito mais se estiverem bem claras as ações executadas em cada etapa do seu código.

Facilitar aprimoramentos do código: À medida que adquirimos experiência em programação, vamos melhorando as nossas abordagens. Algumas soluções que adotamos no passado, hoje nos parecem amadoras. Sempre que revisitamos nossos códigos, ficará mais fácil otimizá-los se estiver destacado o que está sendo realizado.

É muito simples: Não é necessário um linguajar sofisticado. Quanto mais exercitarmos a criação de comentários, melhor os criaremos. Para isso basta começar. Coloque um apóstrofo (‘) ou a declaração Rem para começar e digite com suas palavras o que está sendo executado na macro. Faça isso em todos os pontos que achar necessários. Depois que seu código estiver funcional, revise seus comentários e modifique-os se for preciso. Pratique a cada novo código que criar.

Veja abaixo a diferença entre um código sem comentários e em seguida o mesmo código com comentários:

Sem comentários:

Sub ManipularArquivosPlanilhas()

Dim stNome      As String
Dim stPasta     As String
Dim stArq       As String
Dim wsConsol    As Worksheet
Dim wsArq       As Worksheet
Dim ulConsol    As Long
Dim ulArq       As Long
 
Application.ScreenUpdating = False

Set wsConsol = Worksheets("Consol")
 
stPasta = "C:\Blog\"
 
stArq = Dir(stPasta & "*.xl*")
 
If stArq = ThisWorkbook.Name Then stArq = Dir()

Do Until stArq = ""
    
    If stArq  ThisWorkbook.Name Then
    
        ulConsol = wsConsol.Cells(Rows.Count, "A").End(xlUp).Row
         
        stArq = stPasta & stArq
        
        Workbooks.Open Filename:=stArq
         
        Set wsArq = ActiveWorkbook.Worksheets("Dados")
        
        ulArq = ActiveWorkbook.ActiveSheet.Cells(Rows.Count, "A").End(xlUp).Row
         
        wsArq.Range("A2:E" & ulArq).Copy wsConsol.Range("A" & ulConsol).Offset(1, 0)
         
        ActiveWorkbook.Close SaveChanges:=False
      
        stArq = Dir()
    End If
Loop

ThisWorkbook.Save
  
Application.ScreenUpdating = True

End Sub

Com comentários:

Sub ManipularArquivosPlanilhas()

'Declarar variáveis
Dim stNome      As String
Dim stPasta     As String
Dim stArq       As String
Dim wsConsol    As Worksheet
Dim wsArq       As Worksheet
Dim ulConsol    As Long
Dim ulArq       As Long
 
'Congelar a atualização de tela
Application.ScreenUpdating = False

'Determinar a planilha de consolidação dos dados
Set wsConsol = Worksheets("Consol")
 
'Definir a pasta que será pesquisada
stPasta = "C:\Blog\"
 
'Retornar o nome do primeiro arquivo localizado
stArq = Dir(stPasta & "*.xl*")
 
'Se o primeiro nome for o do arquivo que contém a macro
'segue-se para o próximo arquivo
If stArq = ThisWorkbook.Name Then stArq = Dir()


'Loop para percorrer todos os arquivos
Do Until stArq = ""
    
    'Evitar a tentativa de abrir o arquivo que contém a macro
    'Esse teste é importante quando os arquivos a serem consolidados
    'estão na mesma pasta que este arquivo
    If stArq  ThisWorkbook.Name Then
    
    
        'Determinar a última linha que contém valores na coluna A em wsConsol
        ulConsol = wsConsol.Cells(Rows.Count, "A").End(xlUp).Row
         
        'Definir o nome completo do arquivo
        stArq = stPasta & stArq
        
        'Abrir o workbook
        Workbooks.Open Filename:=stArq
         
        'Definir a planilha cujos dados serão copiados
        Set wsArq = ActiveWorkbook.Worksheets("Dados")
        
        'Determinar a última linha que contém valores na coluna A em wsArq
        ulArq = ActiveWorkbook.ActiveSheet.Cells(Rows.Count, "A").End(xlUp).Row
         
        'Copiar dados de wsArq e colá-los em wsConsol
        wsArq.Range("A2:E" & ulArq).Copy wsConsol.Range("A" & ulConsol).Offset(1, 0)
         
        'Fechar o arquivo cujas informações foram copiadas sem salvar alterações
        ActiveWorkbook.Close SaveChanges:=False
         
        'Redefinir a variável stArq para buscar o nome do próximo arquivo a ser aberto
        'Se o valor retornado for uma String vazia, o loop será interrompido com
        'base na condição Until
        stArq = Dir()
    End If
Loop

'Salvar o arquivo que contém a macro
ThisWorkbook.Save
  
'Permitir a atualização de tela
Application.ScreenUpdating = True


End Sub

E aí? Convencido que vale a pena comentar seus códigos?

In Excel We Trust

Marcado com: , , , ,
Publicado em Nível: Avançado
Um comentário em “0184-Dica VBA: Comentando seus códigos
  1. Luciano Cardoso disse:

    Isso sim é uma dica!!!
    Parece simples, mas isso ajuda, e muito!!!
    Opinião de quem está começando ainda no VBA, e isso ajuda muito a não me perder e corrigir erros.

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

Visitas dos usuários
  • 1,969,548

Clique para assinar este blog e receber notificações de novos artigos por email.

Junte-se a 1.477 outros seguidores

Aumente sua interação

Siga-nos do twitter (@usuariosdoexcel).

Acesse o nosso fórum e compartilhe as suas dúvidas.

Curta nossa página no Facebook.

Junte-se ao grupo do LinkedIn.

Visite-nos utilizando o seu smartphone ou tablet.

Recomende este Blog
Visualizar notícias
Site monitorado:
Real Time Web Analytics

Clicky

%d blogueiros gostam disto: