IntelliSense do VBA melhorado
O IntelliSense é um conjunto de funcionalidades de assistência à edição de código que ajudam os programadores a escrever código mais rapidamente e com menos erros. Aqui, apresentamos as extensões do IntelliSense para VBA fornecidas pelo Code VBA, aproximadamente na ordem em que as irá encontrar enquanto programa, começando pelas mais simples e avançando para as mais complexas.
ThisWorkbook
Adicionar um novo procedimento
Quando começa a escrever um procedimento, ao digitar o s de «Sub», o f (Função) ou o «pro» (propriedade), é imediatamente apresentado o menu correspondente. Ao selecionar o primeiro item, é inserido o bloco comum com o cursor logo antes de () para permitir a digitação do nome do procedimento.
Sub |()
End Sub
Na primeira vez, ficará surpreendido com este comportamento e até se sentirá incomodado com a interrupção. Por outro lado, poderá perceber que o menu oferece algumas funcionalidades que vale a pena explorar.
- Utilização Esc para fechar o menu, caso não seja útil.
- Na parte inferior dos menus do Code VBA, encontrará opções para desativar esse comportamento de ativação.
- Se for esse o caso, pode utilizar Shift-Space para ativar o IntelliSense.
Declarar variáveis
Dim menu de autocompletar declarações de variáveis
Ao digitar dim (um gatilho de palavra-chave), abre-se o menu de autocompletar declarações de variáveis. Ao selecionar o tipo pretendido, insere-se a declaração padrão.
Dim wb| As Workbook
Indique um nome adequado após o prefixo para concluir a declaração.
- Nas preferências, pode especificar se prefere trabalhar com nomes de variáveis com prefixo.
- Aqui também pode alterar os prefixos atualmente utilizados.
- No VBA, é possível declarar várias variáveis numa única linha, separadas por vírgulas.
- A vírgula irá abrir novamente o menu Variável.
Conclusão da declaração automática
Na verdade, com a funcionalidade Auto Declare, já não precisa de declarar as variáveis manualmente. Por exemplo, se escrever
strName=
... além do menu de atribuições ter aparecido (ver a secção seguinte), foi adicionada a seguinte declaração:
Dim strName As String
strName=
Sugestões para a atribuição de variáveis
No caso de uma atribuição de variável como a acima, surge um menu com sugestões no lado direito. Isso depende do tipo da variável. No exemplo da variável String strName, existem várias opções, para citar apenas algumas:
- Um literal de cadeia vazio
""para preencher - Uma nova variável, função ou constante a ser declarada automaticamente
- Uma variável já definida no procedimento, possivelmente do tipo String, mas o Visual Basic também permite outros tipos.
- Um nome que conste algures no seu projeto, ou uma pasta ou nome de ficheiro a selecionar através de uma caixa de diálogo.
- A VBUma chamada de função como
Trim(...) - Um valor de propriedade de um objeto (
ActiveCell.Value), etc.
Exemplo
Se estivermos a atribuir um valor à variável Date, o menu terá o aspeto da imagem à direita. Pode selecionar e inserir código para
- Três literais que representam a data e/ou a hora:
#2/12/2026 7:58:06 AM#. - Utilize o
Datefunção que devolve a data de hoje, ou Now para a data e a hora. - Utilize o
DateAddfunção para calcular uma data/hora no futuro. - Selecione um trecho de código para calcular uma data futura, por exemplo: First day in month:
dt = DateSerial(Year(dt), Month(dt), 1). Está disponível uma longa lista dessas funções de data, que se encontram na Biblioteca de Code VBA.
Sugestões para a atribuição de variáveis de objeto
O suporte à atribuição de variáveis de objeto incluído utiliza um conhecimento aprofundado dos objetos relevantes da aplicação do Office para sugerir como definir um objeto de um determinado tipo.
- Os intervalos referem-se sempre a uma folha. Aqui selecionámos a Folha1, mas o código também pode partir de uma variável «Nova Folha»
- O código que será inserido ao clicar num item está visível numa dica de ferramenta.
- No exemplo atual, o menu apresenta ..., o que indica que clicar nele abrirá uma caixa de diálogo. Neste caso, trata-se de uma caixa de diálogo do Construtor de Chamadas de Procedimentos, que permite definir os detalhes dos métodos Range.
- A palavra-chave Set é adicionada automaticamente para tornar a atribuição da variável Object sintaticamente correta.
Dim rng As Range
Set rng = Sheet1.Range(Cell1:="A4", Cell2:="D10")
Definir preenchimento automático de instruções
O exposto acima é ainda mais ampliado pelo facto de, com a palavra-chave de acionamento Set, o sistema reconhecer as variáveis de objeto no procedimento atual e poder escrever instruções completas, combinando o conhecimento dos objetos disponíveis com os seus métodos que podem ser utilizados para definir um objeto relacionado.
Se a opção «Nova variável de cadeia» for selecionada no submenu «Intervalo», o código abaixo é criado - utilizando o nome de variável predefinido na caixa de diálogo.
Dim strRange As String: strRange =
Set rngSubscriptions = wsAccount.Range(Cell1:=strRange)
Em seguida, pode facilmente atribuir o nome que falta colocando o cursor após strRange = e
ativando as sugestões de preenchimento automático para a instrução de atribuição.
Dim strRange As String: strRange = "[Account4223.xlsm]Sheet1!B4:C6"
Sugestão de autocompletar argumentos
Ao chamar um procedimento, é frequente ter de fornecer argumentos para os parâmetros do procedimento. A autocompletar de argumentos é muito útil para isso. Funciona com todos os procedimentos do seu projeto, sejam personalizados ou integrados, métodos de objetos ou procedimentos de módulos.
- Os argumentos ainda não fornecidos podem ser selecionados pelo nome.
- A dica de ferramenta descreve a finalidade do parâmetro.
- Selecione como argumento a variável que pretende utilizar ou crie uma nova, uma propriedade de um objeto ou até mesmo um procedimento ou fragmento de Code VBA.
Bloco de instruções If Then Else com condição
Quando digita If, o menu abaixo é apresentado. A captura de ecrã abaixo mostra a criação de um bloco de instruções «If Then Else». Repare que:
- O If Then Else O menu é a terceira opção das quatro principais do menu «If».
- Para obter apenas a estrutura básica, selecione a linha vazia na segunda lista.
- O resto da segunda lista permite a construção da parte da condição.
- Utilizando tecla de acesso B Abra o submenu do VBA que contém funções e trechos de código que podem ser utilizados como partes de condições booleanas.
- No canto superior direito, vê-se o efeito ao passar o cursor Informações rápidas dica de ferramenta com o código que será inserido se o item do menu for clicado, uma descrição do último procedimento selecionado (neste caso, a função IsDate) e F1 para indicar a existência de ajuda online.
O código resultante, tal como já apresentado na dica de ferramenta:
If IsDate(str) Then
Else
End If