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.

Adicionar um novo procedimento

Submenu

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.

Declarar variáveis

Dim menu de autocompletar declarações de variáveis

menu de dimensões do Excel

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.

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

nome da atribuição da variável

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.
data de atribuição da variável

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 Date função que devolve a data de hoje, ou Now para a data e a hora.
  • Utilize o DateAdd funçã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

intervalo de 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.

definição de autocompletar instruções
A instrução de preenchimento de conjunto é utilizada aqui para especificar o intervalo de assinaturas a incluir na folha de cálculo «Conta».

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.

selecionar intervalo
Utilizar o intervalo do menu de sugestões

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.
autocompletar argumentos de procedimento

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.
Bloco de instruções If Then Else com condição

O código resultante, tal como já apresentado na dica de ferramenta:


If IsDate(str) Then

Else

End If