Instrução VBA Set

Declaração de conjunto de VBA do Excel

VBA Set é uma instrução que é usada para atribuir qualquer chave de valor, diz um objeto ou uma referência a uma variável, usamos esta função para definir o parâmetro para uma determinada variável, por exemplo, se escrevermos Set M = A que significa agora M referência tem os mesmos valores e atributos semelhantes aos de A.

No VBA, um objeto é o núcleo do excel porque sem objetos não podemos fazer nada. Os objetos são pasta de trabalho, planilha e intervalo. Quando declaramos uma variável, precisamos atribuir um tipo de dados a ela e também podemos atribuir objetos como tipos de dados. Para atribuir um valor a variáveis ​​de objeto declaradas, precisamos usar a palavra “SET”. A palavra “Set” é usada para se referir a um novo objeto no VBA, por exemplo, referindo-se ao intervalo específico de uma planilha específica.

Como usar o Excel VBA Set Statement?

Você pode baixar este VBA Set Statement Template aqui - VBA Set Statement Template

# 1 - Definir declaração com variáveis ​​de objeto de intervalo

Por exemplo, suponha que você deseja usar o intervalo A1 a D5 com bastante frequência. Em vez de escrever o código como intervalo (“A1: D5”), sempre que podemos declarar a variável como intervalo e definir a referência de intervalo como intervalo (“A1: D5”)

Etapa 1: declare a variável como um objeto Range.

Código:

 Sub Set_Example ()

Dim MyRange As Range

End Sub

Passo 2: No momento em que atribuímos o tipo de dado como intervalo, usamos a palavra “Set”.

Código:

 Sub Set_Example () Dim MyRange As Range Set MyRange = End Sub 

Etapa 3: mencione agora o intervalo.

Código:

 Sub Set_Example () Dim MyRange As Range Set MyRange = Range ("A1: D5") End Sub 

Passo 4: Agora a variável “MyRange” é igual ao intervalo A1 a D5. Usando esta variável podemos acessar todas as propriedades e métodos deste intervalo.

Podemos copiar, adicionar um comentário no Excel e fazer muitas outras coisas.

Por exemplo, criei alguns números aqui.

Agora, usando a variável, alterarei o tamanho da fonte para 12.

Código:

 Sub Set_Example () Dim MyRange As Range Set MyRange = Range ("A1: D5") MyRange.Font.Size = 12 End Sub 

Isso mudará o tamanho da fonte do intervalo atribuído.

Assim, podemos fazer muitas coisas com um determinado intervalo usando a palavra “Definir”.

# 2 - Definir declaração com variáveis ​​de objeto de planilha

Vimos como “set” funciona com um objeto de alcance no VBA. Ele funciona exatamente da mesma forma que o objeto de planilha.

Digamos que você tenha 5 planilhas em sua pasta de trabalho e deseja continuar voltando para uma planilha em particular, você pode definir o nome dessa planilha para a variável de objeto definida.

Por exemplo, observe o código abaixo.

Código:

 Sub Set_Worksheet_Example () Dim Ws As Worksheet Set Ws = Worksheets ("Summary Sheet") End Sub 

No código acima, a variável “Ws” definida como variável de objeto, e na próxima linha usando a palavra “Set” configuramos a variável para a planilha chamada “Folha de Resumo”.

Agora, usando essa variável, podemos fazer todas as coisas associadas a ela. Dê uma olhada nos dois conjuntos de código abaixo.

# 1 - Sem "Definir" Palavra

Código:

 Sub Set_Worksheet_Example1 () 'Para selecionar as planilhas de planilha ("Planilha de resumo"). Selecione' Para ativar as planilhas de planilha ("Planilha de resumo"). Ativar 'Para ocultar as planilhas de planilha ("Planilha de resumo"). Visible = xlVeryHidden' Para exibir as planilhas da planilha ("Planilha de resumo"). Visible = xlVisible End Sub 

Sempre usei o objeto planilhas para me referir à planilha “Folha de Resumo”. Isso torna o código muito longo e requer muito tempo para ser digitado.

Como parte do código enorme, é frustrante digitar o nome da planilha assim sempre que precisar fazer referência à planilha.

Agora observe a vantagem de usar a palavra Definir no código.

# 2 - Com "Definir" Palavra

Código:

 Sub Set_Worksheet_Example () Dim Ws As Worksheet Set Ws = Worksheets ("Summary Sheet") 'Para selecionar a planilha Ws.Select' Para ativar a planilha Ws.Activate 'Para ocultar a planilha Ws.Visible = xlVeryHidden' Para exibir a planilha Ws .Visible = xlVisible End Sub 

No momento em que definimos o nome da planilha, podemos ver o nome da variável ao inserir o código como parte da lista.

# 3 - Definir declaração com variáveis ​​de objeto de pasta de trabalho

A vantagem real da palavra “Definir” no VBA surge quando precisamos fazer referência a pastas de trabalho diferentes.

Quando trabalhamos com pastas de trabalho diferentes, é muito difícil digitar o nome completo da pasta de trabalho junto com sua extensão de arquivo.

Suponha que você tenha duas pastas de trabalho diferentes chamadas “Arquivo de resumo de vendas 2018.xlsx” e “Arquivo de resumo de vendas 2019.xlsx”, podemos definir as duas pastas de trabalho como o código abaixo.

Código:

 Sub Set_Workbook_Example1 () Dim Wb1 As Workbook Dim Wb2 As Workbook Set Wb1 = Workbooks ("Sales Summary File 2018.xlsx") Set Wb2 = Workbooks ("Sales Summary File 2019.xlsx") End Sub 

Agora a variável Wb1 é igual à pasta de trabalho chamada “Arquivo de resumo de vendas 2018.xlsx” e a variável Wb2 é igual à pasta de trabalho chamada “Arquivo de resumo de vendas 2019.xlsx”.

Usando essa variável, podemos realmente acessar todas as propriedades e métodos associados à pasta de trabalho.

Podemos encurtar o código como a seguir.

Sem usar Definir palavra-chave para ativar a pasta de trabalho:

Workbooks("Sales Summary File 2018.xlsx").Activate

Using the Set Keyword to activate the workbook:

Wb1.Activate

This makes the writing of the code lot simpler and also once the workbook name is set there is a worry of typo error of the workbook names.