Propriedades de objectos e métodos em excel 2016 programação vba

Embora sabendo como fazer referência a objetos é importante, você não pode fazer qualquer tipo de programação Excel VBA útil simplesmente referindo-se a um objeto. Para realizar qualquer coisa significativa, você deve fazer uma de duas coisas:

  • Ler ou modificar um objeto de propriedades.

  • especificar um método de acção para ser utilizado com um objecto.

Com literalmente milhares de propriedades e métodos disponíveis, você pode facilmente ser sobrecarregado. Basta lembrar, você nunca mais vai precisar usar a maioria das propriedades e métodos disponíveis.

As propriedades do objeto

Cada objeto tem propriedades. Você pode pensar em Propriedades como atributos que descrevem o objecto. propriedades de um objeto determinar como ele se parece, como ele se comporta, e até mesmo se é visível. Usando VBA, você pode fazer duas coisas com propriedades de um objeto:

Video: Lição 027 - 100 Vídeo Aulas Gratuitas de VBA no Excel - O Objeto Range - Parte 3

  • Examine a configuração atual para uma propriedade.

  • Alterar a configuração da propriedade.

Por exemplo, um objeto de intervalo de uma única célula tem uma propriedade chamada Value. A propriedade Value armazena o valor contido na célula. Você pode escrever código VBA para exibir a propriedade de valor, ou você pode escrever código VBA para definir a propriedade Value para um valor específico. A macro a seguir usa o VBA embutido MsgBox função para abrir uma caixa que exibe o valor na célula A1 de Sheet1 da pasta de trabalho ativa:

Esta caixa de mensagem exibe propriedade Value de um objeto Range.
Esta caixa de mensagem exibe propriedade Value de um objeto Range.
Sub ShowValue () Conteúdo = Folhas de trabalho ( “Folha1”). Gama ( “A1”). ValueMsgBox ContentsEnd sub

By the way, MsgBox é uma função muito útil. Você pode usá-lo para exibir os resultados enquanto Excel executa o código VBA.

O código no exemplo anterior mostra a configuração atual da propriedade valor de uma célula. E se você quiser alterar a configuração para essa propriedade? A macro a seguir altera o valor na célula A1, alterando a propriedade Value do celular:

Sub ChangeValue () Worksheets ( “Sheet1”). Range ( “A1”). Value = 994.92End Sub

Após Excel executa este procedimento, a célula A1 na Folha1 do livro activo contém o valor de 994,92. Se a pasta de trabalho ativa não tem uma folha com o nome Sheet1, o resultado da execução essa macro é uma mensagem de erro. VBA apenas segue as instruções, e ele não pode trabalhar com uma folha que não existe.

Video: Curso de VBA - Aula 17 - Propriedades úteis do Objeto Range I

Cada objeto tem seu próprio conjunto de propriedades, apesar de algumas propriedades são comuns a muitos objetos. Por exemplo, muitos objetos (mas não todos) têm uma propriedade Visible. A maioria dos objetos também têm uma propriedade Name.

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 colecção é também um objecto. Isto significa que a coleção também tem propriedades. Por exemplo, você pode determinar quantos livros estão abertos acessando a propriedade Count da coleção de pastas de trabalho. O seguinte procedimento VBA exibe uma caixa de mensagem que informa quantos livros estão abertos:



Sub CountBooks () MsgBox Workbooks.CountEnd Sub

métodos de objetos

Além das propriedades, os objectos têm métodos. UMA 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 utiliza o método simples ClearContents sobre um objecto de intervalo para apagar o conteúdo de 12 células na folha activa:

Sub ClearRange () Range. ( “A1: A12”) ClearContentsEnd Sub

Alguns métodos de tomar um ou mais argumentos. A argumento é um valor que especifica ainda mais a acção a executar. Você coloca os argumentos para um método após o método, separados por um espaço. Vários argumentos são separados por uma vírgula.

Video: Curso de VBA - Aula 18 - Propriedades úteis do Objeto Range II

O exemplo a seguir ativa Folha1 (no livro activo) e, em seguida, copia o conteúdo da célula para a célula A1 B1 usando o método de cópia do objecto Range. Neste exemplo, o método Copy tem um argumento, que é o intervalo de destino para a operação de cópia:

Sub CopyOne () Worksheets ( “Sheet1”). ActivateRange ( “A1”). Copiar Range ( “B1”) End Sub

Observe que a referência planilha foi omitido quando os objetos Range foram referenciados. Isso pode ser feito com segurança, porque foi usada uma declaração para ativar Sheet1. (Utilizando o método Activate).

Outra maneira de especificar um argumento para um método é usar o nome oficial do argumento seguido por dois pontos e um sinal de igual. Usando argumentos nomeados é opcional, mas isso muitas vezes pode tornar o código mais fácil de entender. A segunda instrução no procedimento CopyOne poderia ser escrito assim:

. Range ( “A1”) Cópia Destination: = Range ( “B1”)

Observe o pequeno aviso como a declaração está sendo digitado. Que alerta mostra o nome oficial do argumento.

O VBE exibe uma lista de argumentos, enquanto você digita.
O VBE exibe uma lista de argumentos, enquanto você digita.

Porque uma coleção também é um objeto, as coleções têm métodos. A macro a seguir usa o método Add para a coleção Workbooks:

Sub AddAWorkbook () Workbooks.AddEnd sub

Como você pode esperar, esta instrução cria um novo livro. Em outras palavras, ele adiciona um novo livro para a coleção Workbooks. Depois de executar essa macro, uma nova pasta de trabalho será a pasta de trabalho ativa.

eventos de objeto

Há mais um tópico que você precisa saber sobre: ​​eventos. Objetos responder a vários eventos que ocorrem. Por exemplo, quando você está trabalhando no Excel e você ativar uma pasta de trabalho diferente, um evento de pasta de trabalho Activate ocorre. Você poderia, por exemplo, ter uma macro VBA que é projetado para executar sempre que um evento Activate ocorre para um objeto de pasta de trabalho particular.

Excel suporta muitos eventos, mas nem todos os objetos podem responder a todos os eventos. E alguns objetos não responder a quaisquer eventos. Os únicos eventos que você pode usar são aqueles disponibilizados pelos programadores de Microsoft Excel.


Publicações relacionadas