Falei que ia comentar todas as repostas! Por favor pessoal, não se ofendam, eu estou dando dicas pra melhorar o desempenho geral da nação!
chance de cometer um erro de digitação é pequena.
Meu, usa o Ctrl+Espaço, pra forçar o intelisense a completar o nome pra ti...
Já em códigos maiores, é importante usar o "option explicit"
O ideal é usar sempre. Trocar a opção no próprio Excel para ele automaticamente forçar vc a declarar tudo sempre.
- No VBE vá em Ferramentas / Opções
- Na primeira aba, o segundo checkbox, Requerer Declaração de Variáveis (o meu tá em inglês, Require Variable Declaration), veja aí como tá em português.
- Assim, toda vez que vc criar um módulo, pra sempre, o Option Explicit já estará escrito no topo. Acho isso fantástico.
identificando o tipo de variável
Eu fazia isso, sempre.
dim strNome as string
dim lngIdade as Long
dim arrDados as variant
E assim por diante... Até quando descobri que nos modelos mais novos de programação, o Visual Studio impede a compilação caso o dado sendo inserido não seja do tipo certo, e fui aos poucos acostumando a não deifinir o tipo no nome. As vezes ainda faço, mas evito. O nome tem que ser tão descritivo, que torna desnecessário a definição do tipo no nome. Ficando assim:
dim Nome as string
dim Idade as Long
dim Dados as variant
... "goto só se usa uma vez no código e somente para tratamento de erro", ... "on error resume next" não se deve usar nunca.
Exato, "GoTo" é só pro tratamento de erros. "On Error Resume Next", evitar ao máximo, e se usar, melhor ter uma boa justificativa. Eu uso, pouco mas uso, e sempre comento o motivo.
se as variáveis são públicas, acho que não convém ficar limpando os valores dela
Exato, eu procuro usar publicas somente em casos em que é algo que vou usar muito, e quero economizar na passagem de parâmetros. Na maioria são constantes que não devem mudar, tipo:
NomeDoProgramador
GerenteDoProjeto
EmpresaDeDesenvolvimento
ContatosDaEmpresa
NomeDoCliente
NomeDoProjeto
São constantes e o código não as muda. Eu as mudo conforme inicio cada projeto, sempre usando meu modelo.
Eu li um pouco a respeito, assim como li um pouco sobre módulos de classe, mas nunca usei de fato
Eu uso Types, não uso com frequencia as classes. Me perco. Queria aprender tb.
Qto a Types, conforme prometi, vou escrever um artigo sobre ByVal e ByRef, e tb um sobre Types, atendendo a pedidos. Vai ser mais um daqueles meus tutoriais eternos, tipo do Range Dinâmico e tal...
Ufa, to empolgado e respondendo agora vamos pra próxima! rsrsrs
Lembre-se de AGRADECER aos que te ajudaram, e de marcar o tópico como [Resolvido]
Gente que cuida de gente.
Gilmar