As variáveis de objeto podem armazenar objetos, como: pastas de trabalho, planilhas, intervalos, etc. Você declara objeto variáveis da mesma forma que você declararia qualquer outra variável. No entanto, o processo de atribuição de um objeto para uma variável é ligeiramente diferente; você deve adicionar "Set" à atribuição.
Dim myWB as Workbook Set myWB = Workbooks("Example.xlsm")
Declarando a variável de objeto
Antes de podermos referenciar o objeto no código e, portanto, controlar o objeto, precisamos declarar o objeto. Podemos fazer isso usando a instrução Dim.
O mesmo pode ser feito para definir uma planilha como uma variável:
Dim myWS as Worksheet
Set myWS = Workbooks(“Example.xlsm”).Sheets(“Inputs”)
Mas por que você gostaria de usar uma variável para armazenar uma planilha ou pasta de trabalho se você pode apenas fazer referência à planilha ou pasta de trabalho? Imagine fazer vários cálculos na mesma pasta de trabalho e precisar fazer referência a ela sempre:
Workbooks(“Example.xlsm”).Sheets(“MySheet”).Range(“A1”).Value = 4
Workbooks(“Example.xlsm”).Sheets(“MySheet”).Range(“A2”).Value =51
Workbooks(“Example.xlsm”).Sheets(“MySheet”).Range(“A3”).Value =26
Saiba mais como declarar variáveis de objetos no Microsoft 365
Exemplo 2: variáveis de objeto
Dim myWS as Worksheet
Set myWB = Workbooks(“Example.xlsm”)
myWS.Range(“A1”).Value = 4
myWS.Range(“A2”).Value = 51
myWS.Range(“A3”).Value = 26
Muito mais fácil quando você faz referência à mesma folha várias vezes!
Agora você tenta:
Atribua a pasta de trabalho "Example.xlsm" à variável "myWB"
Sub Macro1()
Dim myWB as Workbook
Set myWB = Workbooks(“Example.xlsm”)
End Sub
Atribua a planilha "data" à variável "myWS". Não defina uma pasta de trabalho.
Sub Macro1()
Dim myWS as Worksheet
Set myWS = Worksheets(“data”)
End Sub
- Como Alterar a Cor da Fonte Usando VBA no Excel
- Como definir o nível de segurança de macro no Excel
- Como obter o endereço do ActiveCell com VBA
- Mover para a nova célula com VBA Activate ou Select
Por que o VBA usa objetos
Um objeto é usado para representar o mundo real ou itens baseados em computador.
O principal benefício de um objeto é que ele oculta os detalhes de implementação. Quando um item é adicionado, ele deve alocar na memória, adicionar o item, atualizar a contagem de itens e assim por diante.
Não sabemos como ele está fazendo isso e não precisamos saber. Tudo o que precisamos saber é que, quando usamos Add, ele adiciona o item, Remove remove o item e Count fornece o número de itens.
O uso de objetos nos permite construir nossos aplicativos como blocos. Construir dessa forma significa que você pode trabalhar em uma parte sem afetar outras partes do seu aplicativo. Também facilita a adição de itens a um aplicativo. Por exemplo, uma coleção pode ser adicionada a qualquer aplicativo VBA. Ele não é afetado de forma alguma pelo código existente e, por sua vez, não afetará o código existente.