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 |