Conjunto VBA do Excel

"Set" é uma palavra-chave usada na programação VBA para atribuir uma referência a um objeto ou intervalo de células que permanecerá corrigido em todo o programa ou código no Excel. O VBA Set basicamente nos ajuda a evitar a entrada repetitiva de faixa que precisamos selecionar durante a execução do código. No Excel, o "Conjunto" é aplicado principalmente em planilhas / intervalo de células em uma planilha específica.

Sintaxe:

Definir nome do objeto / variável = Objeto / Intervalo

Nota: Você precisa ter a guia Desenvolvedor na planilha do Excel.

Se você não vir a guia "Desenvolvedor" no Excel, consulte as etapas abaixo:

Etapa 1: Clique na opção de arquivo .

Etapa 2: O menu suspenso aparece. Clique na guia Opções .

Etapa 3: Depois de clicar em "Opções", uma caixa de diálogo aparece como mostrado abaixo e clique na opção Personalizar faixa de opções.

Etapa 4: quando arrastarmos para baixo as opções da faixa de opções de personalização, encontraremos uma opção para o desenvolvedor, precisamos marcar a caixa que nos permitirá usar o VBA no excel.

Como usar uma palavra-chave definida no VBA?

Abaixo estão os exemplos diferentes para usar a palavra-chave set no Excel VBA.

Você pode fazer o download deste modelo VBA Set Excel aqui - Modelo VBA Set Excel

Conjunto VBA do Excel - Exemplo # 1

Vamos dar um exemplo simples de uma palavra-chave Set no Excel VBA. Suponha que gostaríamos de selecionar um intervalo e defini-lo como intervalo fixo para evitar a repetição. Abaixo está o intervalo de células que contém os nomes:

Siga as etapas abaixo para usar a palavra-chave set no Excel VBA:

Etapa 1: Clique na guia "Desenvolvedor" e, em seguida, clique na opção "Visual Basic" no lado esquerdo (primeira opção), como mostrado abaixo.

Depois de clicar nele, uma nova janela aparece como mostrado abaixo:

Você notará que ele contém duas guias no lado esquerdo, “Folha1 (Folha1)” e “Este manual de instruções”. A única diferença é "Plan1" quando você deseja executar o código somente para esta planilha específica e, no "ThisWorkbook", podemos escrever e executar um código que pode ser aplicado a toda a pasta de trabalho do Excel.

Etapa 2: Clique duas vezes em “Plan1 (Plan1) e você verá uma tela em branco na qual precisamos escrever o código. Primeiro, declare um subconjunto como Subnome e pressione enter e você verá um subconjunto criado como mostrado abaixo:

Código:

 Sub setexmp () End Sub 

É assim que criamos um subconjunto e automaticamente aparece "End Sub". Esse é o recurso padrão do excel. Se "End Sub" não aparecer, o código não será executado e emitirá um erro.

Etapa 3: Agora, declararemos variáveis ​​a serem usadas no código.

Digite Dim nome da variável e tipo de variável. Aqui, o nome será como a identidade do intervalo e o tipo seria como Inteiro, Longo, String, Intervalo etc.

Código:

 Sub setexmp () Dim Rnst como Range End Sub 

Aqui "Rnst" é um nome de variável e atribui (As) como função Range. Isso alertará o sistema que, uma seleção de faixa seria feita.

Etapa 4: Digite a palavra-chave "Set" e forneça um intervalo usando o formato: Set variable = Range ("cell range") .

Código:

 Sub setexmp () Dim Rnst como intervalo Definir Rnst = intervalo ("A2: A11") End Sub 

Etapa 5: temos que selecionar esse intervalo de linhas especificado. Portanto, digite select as Rnst.Select Consulte a captura de tela abaixo:

Código:

 Sub setexmp () Dim Rnst As Range Definir Rnst = Range ("A2: A11") Rnst.Select End Sub 

Etapa 6: execute o código pressionando F5 ou o botão Executar e veja a saída.

Ele selecionará o intervalo especificado, que é das células A2 a A11.

Conjunto VBA do Excel - Exemplo # 2

Suponha que queremos colar essas células ou variar em outra célula. Usaremos o mesmo código acima e adicionaremos o código para colar esses dados em várias colunas.

Siga os passos abaixo:

Etapa 1: Agora copiaremos o intervalo de células que é a coluna do nome. Digite copy, ou seja, “Rnst.Copy”, quando você digita “Rnst.”, Aparece uma espécie de lista suspensa. Ele contém várias funções, como copiar, colar etc.

Etapa 2: você pode rolar para baixo e selecionar a função desejada que deseja executar. Aqui, basta digitar "Copiar", como mostra a imagem abaixo:

Código:

 Sub setexmp () Dim Rnst As Range Define Rnst = Range ("A2: A11") Rnst.Selecione Rnst.Copy End Sub 

Etapa 3: Compile o código pressionando a tecla F8.

Depois de executar esta função de cópia, você verá que, no Excel, o intervalo é copiado e as linhas pontilhadas aparecem ao redor do intervalo de células, como mostrado abaixo:

Etapa 4: Agora, precisamos colar essas células, digamos nas colunas adjacentes, uma a uma, por isso precisamos usar a função de loop “For” e supor que 5 vezes precisamos colar, digitando-a como mostrado abaixo:

Para Inteiro i = 1 a 5 -> isso especifica quantas vezes precisamos colar os dados. Se 5, então 1 a 5, o que você preferir.

Código:

 Sub setexmp () Dim Rnst As Range Define Rnst = Range ("A2: A11") Rnst.Selecione Rnst.Copy Para i = 1 a 5 End Sub 

Etapa 5: selecione uma célula na qual deseja colar esse intervalo de células. Suponha que queremos começar a colar da coluna B2 e colar os dados deve ser dinâmico, ou seja, deve selecionar automaticamente as colunas adjacentes uma a uma sem sobrepor. Portanto, a sintaxe seria "Célula (número da linha, número da coluna). PasteSpecial".

Células (2, i + 1) .PasteSpecial, Aqui, 2-> representa o número da linha e, i + 1 -> representa o número da coluna. i + 1 significa que o primeiro valor declarado no loop “For” é i = 1; portanto, o valor da coluna se tornará 2, especifica que ele começará a colar da coluna B. E quando o valor de i aumentar, ele continuará selecionando colunas adjacentes um por um.

Código:

 Sub setexmp () Dim Rnst As Range Define Rnst = Range ("A2: A11") Rnst.Selecione Rnst.Copy Para i = 1 a 5 células (2, i + 1) .PasteSpecial xlValues ​​End Sub 

Etapa 6: Digite " Next i ", o que significa que você está aumentando o valor de "i" um por um para que a colagem da coluna permaneça dinâmica.

Código:

 Sub setexmp () Dim Rnst As Range Define Rnst = Range ("A2: A11") Rnst.Selecione Rnst.Copy Para i = 1 a 5 células (2, i + 1) .PasteSpecial xlValues ​​Next i End Sub 

Etapa 7: pressione “F8” para ver o código executar linha por linha e mostrará o colar da célula nas colunas adjacentes, uma a uma.

Aqui você pode ver o valor de i é 1 e os dados foram colados na coluna B, conforme desejado.

Etapa 8: Agora, quando você pressionar "F8" novamente, verá que agora o valor de i é 2. Portanto, 2 + 1 se tornará 3 e os dados serão colados na célula (2, 3), ou seja, o valor da linha é o mesmo, mas a coluna número de alterações, conforme mostrado na captura de tela abaixo:

Após a repetição do loop, você verá os dados colados 5 vezes, ou seja, da contagem 1 a 5 começando a colar da coluna B até a coluna F, como mostrado abaixo:

Conjunto VBA do Excel - Exemplo # 3

Suponha que gostaríamos de mostrar uma contagem do número de células nesse intervalo em uma caixa de mensagem que aparece ao clicar em um botão. Tomaremos os mesmos dados mostrados abaixo.

Além disso, executaremos o código deste exemplo na nova planilha. Portanto, adicione uma nova planilha e, na janela do VBA, ela aparecerá como abaixo:

Teremos que inserir uma opção de botão de comando. É um recurso do excel, então siga as etapas abaixo:

Etapa 1: digite um nome de subconjunto, diga "Setcount ()", como mostrado na captura de tela abaixo:

Código:

 Subconta () End Sub 

Etapa 2: Declare a mesma variável "Rnct" como um intervalo no subconjunto, como mostrado na captura de tela abaixo:

Código:

 Sub Setcount () Dim Rnct As Range End Sub 

Etapa 3: digite a palavra-chave "Definir" e indique um intervalo.

Código:

 Subconta () Dim Rnct As Range Define Rnct = Range ("A2: A11") End Sub 

Etapa 4: agora, depois de corrigir o intervalo, precisamos ver a caixa pop-up ou a caixa de diálogo mostrando a contagem de células no intervalo. Portanto, use a função "MsgBox" que, após a execução, uma contagem aparecerá na caixa de diálogo. Digite "Nome da variável MsgBox. Contagem". No momento em que você digitou o nome da variável, pontilha (.) Um menu suspenso que contém várias funções e nós selecionamos “count” ou digitamos manualmente “count”.

Digite “MsgBox Rnct.count” e, após a execução, aparecerá a contagem.

Etapa 5: Agora, queremos inserir um botão de comando e, ao clicar nesse botão, a caixa de mensagem deve aparecer.

Clique em "Inserir" na guia "Desenvolvedor", conforme destacado na caixa vermelha, e você verá uma lista suspensa da categoria "Controles de formulário". Clique na primeira forma de caixa retangular, que teremos que desenhar e inserir manualmente na planilha do Excel:

Etapa 6: Ao clicar na caixa retangular, desenhe e insira a caixa na folha e, depois que você começar a desenhar, uma caixa de diálogo aparecerá como mostrado abaixo. É um botão da janela "Atribuir macro" e selecione a macro do subconjunto "Setcount". Clique em "OK".

Isso significa que atribuímos a macro de contagem a este botão. E ao clicar, ele será executado.

Etapa 7: Ele aparecerá como mostrado abaixo no Excel.

Etapa 8: clique com o botão direito do mouse e renomeie-o usando a opção " Editar texto ", como mostrado abaixo:

Etapa 9: dê um nome a ele como "CONTAGEM" e você o verá no Excel conforme a contagem mostrada abaixo.

Etapa 10: Clique no botão "CONTAGEM": Depois de clicar no botão "CONTAGEM", uma caixa de mensagem aparece como mostrado abaixo:

Como podemos ver, existem 10 nomes e mostraram o número correto do intervalo A2 a A11.

Coisas para lembrar

  • Verifique se a guia "Desenvolvedor" está inserida nas fitas do Excel para executar esses códigos VBA.
  • 'Set' é aplicado principalmente em planilhas / intervalo de células em uma planilha específica.

Artigos recomendados

Este é um guia para o conjunto VBA. Aqui, discutiremos como atribuir uma referência a um objeto ou intervalo de células usando a Palavra-chave do VBA do Excel, juntamente com exemplos práticos e modelo do Excel para download. Abaixo estão alguns artigos úteis do Excel relacionados ao VBA -

  1. Função Concatenar VBA
  2. Tutoriais sobre conjuntos de ícones do Excel
  3. Trabalhando com células de intervalo no VBA
  4. Resolver equação no Excel

Categoria: