Índice:
Vídeo: Lição 018 - Curso Gratuito de VBA no Excel - Objeto Application - Métodos, Propriedades e Coleções 2025
Embora o conhecimento de como se referir a objetos seja importante, você não pode fazer nenhuma programação útil do Excel VBA simplesmente consultando um objeto. Para realizar algo significativo, você deve fazer uma das duas coisas:
-
Leia ou modifique as propriedades de um objeto.
-
Especifique um método de ação a ser usado com um objeto.
Com literalmente milhares de propriedades e métodos disponíveis, você pode facilmente ser surpreendido. Basta lembrar, você nunca precisará usar a maioria das propriedades e métodos disponíveis.
Propriedades do objeto
Cada objeto possui propriedades. Você pode considerar propriedades como atributos que descrevem o objeto. As propriedades de um objeto determinam como ele se parece, como ele se comporta e mesmo se ele é visível. Usando o VBA, você pode fazer duas coisas com as propriedades de um objeto:
-
Examine a configuração atual de uma propriedade.
-
Altere a configuração da propriedade.
Por exemplo, um objeto de intervalo de célula única possui uma propriedade denominada Valor. A propriedade Value armazena o valor contido na célula. Você pode escrever o código VBA para exibir a propriedade Value, ou você pode escrever o código VBA para definir a propriedade Value como um valor específico. A macro a seguir usa a função MsgBox incorporada do VBA para exibir uma caixa que exibe o valor na célula A1 na Folha1 do livro ativo:
Sub ShowValue () Índice = Folhas de trabalho ("Folha1"). Gama ("A1"). Valor MsgBox Conteúdo End Sub
Por sinal, MsgBox é uma função muito útil. Você pode usá-lo para exibir resultados enquanto o Excel executa seu código VBA.
O código no exemplo anterior mostra a configuração atual da propriedade Value de uma célula. E se você quiser alterar a configuração dessa propriedade? A macro a seguir altera o valor na célula A1 alterando a propriedade de valor da célula:
Folhas de Trabalho Sub ChangeValue ("Folha1"). Gama ("A1"). Valor = 994. 92 End Sub
Depois que o Excel executa este procedimento, a célula A1 na Folha1 do livro ativo contém o valor 994. 92. Se o livro ativo não tiver uma folha chamada Folha1, o resultado da execução dessa macro é uma mensagem de erro. O VBA segue as instruções e não pode funcionar com uma folha que não existe.
Cada objeto possui seu próprio conjunto de propriedades, embora algumas propriedades sejam comuns a muitos objetos. Por exemplo, muitos (mas não todos) os objetos têm uma propriedade Visible. A maioria dos objetos também possui uma propriedade Nome.
Algumas propriedades do objeto são propriedades somente leitura, o que significa que seu código pode obter o valor da propriedade, mas não pode alterá-lo.
Uma coleção também é um objeto. Isso significa que uma coleção também possui propriedades. Por exemplo, você pode determinar quantos livros de trabalho estão abertos acessando a propriedade Count da coleção Workbooks. O procedimento VBA a seguir exibe uma caixa de mensagem que indica quantos cadernos de trabalho estão abertos:
cadernos de registro MsgBox Sub CountBooks (). Count End Sub
Métodos de objeto
Além de propriedades, os objetos possuem métodos. Um método é uma ação que você executa com um objeto. Um método pode alterar as propriedades de um objeto ou fazer o objeto fazer algo.
Este exemplo simples usa o método ClearContents em um objeto Range para apagar o conteúdo de 12 células na folha ativa:
Sub ClearRange () Range ("A1: A12"). ClearContents End Sub
Alguns métodos levam um ou mais argumentos. Um argumento é um valor que especifica ainda mais a ação a ser executada. Você coloca os argumentos para um método após o método, separado por um espaço. Múltiplos argumentos são separados por uma vírgula.
O exemplo a seguir ativa Sheet1 (na pasta de trabalho ativa) e, em seguida, copia o conteúdo da célula A1 para a célula B1 usando o método de Cópia do objeto Range. Neste exemplo, o método de cópia tem um argumento, que é o intervalo de destino para a operação de cópia:
folhas de trabalho Sub CopyOne () "(Folha1). Ativar intervalo ("A1"). Faixa de cópia ("B1") End Sub
Observe que a referência da planilha foi omitida quando os objetos Range foram referenciados. Isso pode ser feito com segurança porque uma declaração para ativar Sheet1 foi usada. (usando o método Ativar).
Outra maneira de especificar um argumento para um método é usar o nome oficial do argumento seguido por dois pontos e um sinal igual. O uso de argumentos nomeados é opcional, mas, assim, muitas vezes pode tornar seu código mais fácil de entender. A segunda declaração no procedimento CopyOne pode ser escrita assim:
Range ("A1"). Copiar destino: = intervalo ("B1")
Observe o pequeno prompt como a instrução está sendo digitada. Esse prompt mostra o nome oficial do argumento.
Como uma coleção também é um objeto, as coleções possuem métodos. A seguinte macro usa o método Add para a coleção Workbooks:
Sub AddAWorkbook () Workbooks. Adicionar End Sub
Como você pode esperar, esta declaração cria um novo livro. Em outras palavras, ele adiciona uma nova pasta de trabalho à coleção Workbooks. Depois de executar esta macro, uma nova pasta de trabalho será a pasta de trabalho ativa.
Eventos de objeto
Há mais um tópico sobre o qual você precisa saber sobre: eventos. Os objetos respondem a vários eventos que ocorrem. Por exemplo, quando você está trabalhando no Excel e você ativa uma pasta de trabalho diferente, ocorre um evento Ativar pasta de trabalho. Você poderia, por exemplo, ter uma macro VBA projetada para executar sempre que um evento Ativar ocorra para um objeto de pasta de trabalho específico.
Excel suporta muitos eventos, mas nem todos os objetos podem responder a todos os eventos. E alguns objetos não respondem a nenhum evento.Os únicos eventos que você pode usar são aqueles disponibilizados pelos programadores do Microsoft Excel.
