Referindo-se a objectos no excel 2016 programação vba

Referindo-se a um objeto em seu código VBA é importante porque você deve identificar o objeto que você quer trabalhar com no Excel 2016. Afinal, VBA não pode ler sua mente - ainda. Há rumores de que o objeto de leitura da mente será introduzido no Excel 2019.

Você pode trabalhar com toda uma coleção de objetos de uma só vez. Mais frequentemente, no entanto, você precisa trabalhar com um objeto específico em uma coleção (como uma planilha específica em uma pasta de trabalho). Para fazer referência a um único objeto de uma coleção, você colocar o nome ou número de índice do objeto entre parênteses após o nome da coleção, como esta:

Worksheets ( “Sheet1”)

Observe que o nome da folha é entre aspas. Se você omitir as aspas, o Excel não será capaz de identificar o objeto (e vai assumir que é um nome de variável).

Video: Lição 017 - Curso Gratuito de Programação VBA no Excel - Modelo de Objetos do VBA no Excel

Se Sheet1 é a primeira (ou única) planilha na coleção, você também pode usar a seguinte referência:

Folhas de trabalho (1)

Neste caso, o número é não entre aspas. linha de fundo? Se você se referir a um objeto usando seu nome, use aspas. Se você se referir a um objeto usando seu número de índice, utilize um número simples, sem aspas.

Video: Lição 018 - Curso Gratuito de VBA no Excel - Objeto Application - Métodos, Propriedades e Coleções

E sobre folhas de gráficos? Uma folha de gráfico contém um único gráfico. Tem um separador de folha, mas não é uma planilha. Bem, como se vê, o modelo de objeto tem uma coleção chamada Charts. Esta recolha contém todos os objectos de uma folha gráfico de um livro (e não inclui gráficos incorporados numa folha de cálculo).

E só para manter as coisas lógica, não há outra coleção chamada Sheets. A colecção de todas as Folhas contém folhas (folhas e folhas de gráficos) em uma pasta de trabalho. A coleção Sheets é útil se você quer trabalhar com todas as folhas em uma pasta de trabalho e não se importam se eles são planilhas ou planilhas de gráfico.

Video: Lição 019 - Curso Gratuito de Programação VBA no Excel - Objeto Application - Exemplos Práticos

Assim, uma única planilha chamada Sheet1 é membro de duas coleções: a coleção de planilhas ea coleção Sheets. Você pode se referir a ele em uma de duas formas:

Worksheets ( “Sheet1”) Sheets ( “Sheet1”)

Navegando através da hierarquia

Se você quiser trabalhar com objetos do Excel, todos estão debaixo do objeto Application. Portanto, comece digitando Aplicação.

Todos os outros objetos no modelo de objeto do Excel está sob o objeto Application. Você começa a esses objetos movendo para baixo na hierarquia e conectando cada objeto em seu caminho com o (.) Operador ponto. Para chegar ao objeto livro chamado Book1.xlsx, começar com o objeto Application e navegar até o objeto de coleção de pastas de trabalho:

Application.Workbooks ( “Book1.xlsx”)


Para navegar mais para uma planilha específica, adicionar um operador ponto e acessar o objeto de coleção de planilhas:

Application.Workbooks ( “Book1.xlsx”). Folhas de trabalho (1)

Video: Exportar Relatório do Excel em PDF com VBA

Não muito longe o suficiente? Se você realmente deseja obter o valor da célula A1 na primeira planilha da pasta de trabalho chamada Book1.xlsx, você precisa para navegar mais um nível para o objeto Range:

Application.Workbooks ( “Book1.xlsx”). Folhas de trabalho (1) .Range ( “A1”). Value

Quando você se referir a um objeto Range, desta forma, ele é chamado de referência plenamente qualificado. Você disse Excel exatamente quais variam quiser, no qual planilha e em que pasta de trabalho, e não deixaram nada para a imaginação. A imaginação é bom nas pessoas, mas não tão bom em programas de computador.

By the way, nomes de pasta de trabalho também têm um ponto para separar o nome do arquivo da extensão (por exemplo, Book1.xlsx). Isso é apenas uma coincidência. O ponto em um nome de arquivo não tem nada a ver com o operador ponto.

Simplificar referências de objeto

Se você foram obrigados a qualificar totalmente cada referência de objeto que você faz, o seu código iria ficar bastante longo, e pode ser mais difícil de ler. Felizmente, o Excel fornece-lhe alguns atalhos que podem melhorar a legibilidade (e poupar algum digitação). Para começar, o objeto Application é sempre assumido. Existem apenas alguns casos quando faz sentido que digitá-lo. Omitindo a referência objecto de aplicação encurta o exemplo de

Pastas de trabalho ( “Book1.xlsx”). Folhas de trabalho (1) .Range ( “A1”). Value

Isso é uma boa melhoria. Mas espere, ainda há mais. Se você tem certeza de que Book1.xlsx é a pasta de trabalho ativa, você pode omitir essa referência também. Agora você está para baixo a

Worksheets (1) .Range ( “A1”). Value

Agora você está chegando a algum lugar. Você já adivinhou o próximo atalho? Está certo. Se você sabe a primeira planilha é a planilha ativa no momento, o Excel assume que a referência e permite que você apenas digitar

Range ( “A1”). Value

Ao contrário do que algumas pessoas podem pensar, o Excel não tem um objeto Cell. UMA célula é simplesmente um objeto Range que consiste em apenas um elemento.

Os atalhos descritos aqui são grandes, mas eles também podem ser perigosos. E se você só pensar Book1.xlsx é o livro activo? Você poderá obter um erro, ou pior, você pode obter o valor errado e nem mesmo perceber que é errado. Por essa razão, muitas vezes é melhor para qualificar totalmente as suas referências de objeto.

O Com-End Com estrutura ajuda a qualificar totalmente suas referências, mas também ajuda a tornar o código mais legível e reduz a digitação. O melhor de dois mundos!


Publicações relacionadas