VBA Set Object Variables - Workbooks, Worksheets e mais

Este tutorial ensinará como definir variáveis ​​de objeto usando a instrução Set no VBA.

Definindo Variáveis ​​de Objeto

Os objetos são a base do Microsoft Office - sem objetos, não podemos alcançar nada. No Excel, os objetos incluem a pasta de trabalho, planilha ou objetos de intervalo. No Microsoft Word, os exemplos são o objeto Documento ou Tabela. Cada objeto tem uma variedade de Propriedades e Métodos que pode ser programado para controlar o comportamento daquele objeto.

Declarando a variável do objeto

Antes de podermos fazer referência ao objeto no código e, portanto, controlar o objeto, precisamos declarar o objeto. Podemos fazer isso usando a declaração Dim.

123456 Dim wkb como pasta de trabalhoDim wks como planilhaDim Rng como AlcanceDim wdDoc as DocumentDim wdTbl as TableDim shp como forma

Esse Dim declaração pode ocorrer dentro de um procedimento:

ou fora de um procedimento no nível do módulo:

Se a variável for declarada no nível do módulo (fora do procedimento), a variável pode ser usada em todo o módulo.

Se a variável do objeto for declarada com a declaração Pública, então a variável pode ser usada em todo o Projeto VBA:

Definir valor

Depois de declarar o objeto, você precisa atribuir um valor a ele. Isso deve ser feito usando o Definir declaração e só pode ser feito dentro de um Procedimento.

12345 Sub SetObjects ()Definir wkb = ActiveWorkbookDefinir wks = Folha1Definir rng = intervalo ("A1: G4")End Sub

Nota: Isso é diferente de atribuir valores a variáveis ​​que não são do objeto. Você DEVE usar a instrução Set para atribuir o objeto à variável. Caso contrário, você receberá uma mensagem de erro:

Depois de atribuir um valor ao objeto, você pode escrever código para controlar o comportamento ou manipular o objeto.

Programação VBA | O Code Generator funciona para você!

Exemplos de objetos no Excel

Objeto de pasta de trabalho

Depois de declarar uma variável de pasta de trabalho, você pode atribuir uma pasta de trabalho a esse objeto e usar as Propriedades e Métodos disponíveis para manipular esse objeto. No exemplo abaixo, vamos salvar uma pasta de trabalho.

123456789101112 Sub WorkbookObject ()'declara o objeto da pasta de trabalhoDim wkb como pasta de trabalho'atribuir uma pasta de trabalho não salva ao objetoDefinir wkb = Pastas de trabalho ("Livro1")'salvar a pasta de trabalhowkb.SaveAs "C: \ data \ testbook.xlsx"'feche a pasta de trabalhowkb.close'lembre-se de liberar o objetoDefinir wkb = NadaEnd Sub

Objeto de planilha

Da mesma forma, você pode manipular uma planilha ou planilhas depois de declarar a planilha como uma variável. No exemplo abaixo, renomeamos Folha1 e Folha2.

12345678910111213 Sub WorksheetObject ()Dim wks1 como planilhaDim wks2 como planilha'inicializar os objetosDefinir wks1 = Folha1Definir wks2 = Folha2'renomear as folhaswks1.Name = "Clientes"wks2.Name = "Produtos"'definir os objetos para nadawks1 = Nadawks2 = NadaEnd Sub

Cansado de procurar exemplos de código VBA? Experimente o AutoMacro!

Objeto de alcance

O objeto Range é um dos objetos mais úteis para manipular no Excel. No exemplo abaixo, colocamos em negrito o intervalo A1 a E1 e o formatamos com uma borda inferior.

12345678910111213 Sub RangeObject ()Dim rng1 como intervalo'inicializar o intervaloDefinir rng = intervalo ("A1: E1")'negrito o intervalo e definir a borda inferiorrng.Font.Bold = TrueCom rng1.Borders (xlEdgeBottom).LineStyle = xlContinuous.ColorIndex = 0.TintAndShade = 0.Weight = xlThinTerminar comEnd Sub

Objeto de forma

Você também pode usar variáveis ​​de objeto para trabalhar com formas.

123456789101112 Sub AddShape ()Dim shp como forma'criar a formaDefina shp = ActiveDocument.Shapes.AddShape (msoShapeSmileyFace, 68,25, 225,75, 136,5, 96 #)Com shp'mudar dentro de cor e estilo.Fill.ForeColor.RGB = RGB (255, 255, 0).Fill.Solid'ajustar o sorriso!.Ajustes. Item (1) = 0,07181Terminar comEnd Sub
wave wave wave wave wave