Módulo de classe VBA do Excel

O módulo de classe no VBA pode ser definido como o módulo que ajuda a criar seus próprios objetos com suas próprias propriedades e métodos, como planilhas e objetivos de intervalo do excel.

Em termos simples, com o módulo de classe help VBA, podemos criar objetos com propriedades próprias. Antes de criar um módulo de classe e seus objetos no VBA, é aconselhável entender o conceito de classe e objeto. Considere um exemplo do mundo real para entender o que é uma classe e o que é um objeto e sua relação.

Por exemplo, se tomarmos um plano de construção ou planta de um edifício, com a ajuda de um plano de construção, podemos construir não apenas um edifício, mas podemos usar o mesmo plano e construir vários edifícios em locais diferentes. Eles podem variar em tamanho dos quartos ou altura do telhado, etc., mas as propriedades reais do edifício permanecem as mesmas, pois deve haver um porão, portas, pilares, teto, etc.

Da mesma forma, se você pegar um modelo ou modelo de carro, podemos produzir várias duplicatas para ele. Um carro terá propriedades como um número de rodas, cor, potência etc. algumas das propriedades podem variar de carro para carro, mas a configuração principal permanecerá a mesma.

Para deixar mais claro, podemos definir como:

  • Classe: é uma planta de uma coisa que ajuda a criar um objeto.
  • Objeto: existência real de uma coisa.

Como inserir um módulo de classe no Excel VBA?

Abaixo estão os diferentes exemplos para inserir um módulo de classe no Excel usando o código VBA.

Você pode fazer o download deste modelo do Excel do módulo de classe VBA aqui - Modelo do Excel do módulo de classe VBA

Módulo de classe VBA do Excel - Exemplo # 1

Abaixo estão as diferentes etapas para inserir o módulo de classe usando o código VBA no Excel.

Etapa 1: vá para o menu " Desenvolvedor " na parte superior e clique no Visual Basic no lado esquerdo.

Etapa 2: Para criar um módulo de classe, precisamos inserir um módulo de classe no VBA. Clique no menu suspenso Inserir na parte superior. A partir disso, escolha um módulo de classe .

Agora, um módulo de classe é inserido no lado esquerdo no VBA, como mostra a captura de tela abaixo.

Como discutido anteriormente, um módulo de classe é um modelo com o qual criaremos objetos. Portanto, precisamos definir algumas variáveis ​​e métodos que serão acessíveis a todos os objetos.

Etapa 3: altere o nome do módulo de classe conforme sua exigência, aqui eu mudei como Blueprint

Etapa 4: Agora precisamos definir as variáveis ​​e métodos.

Código:

 Opção Public explícito add Como Inteiro Público pro Como Inteiro Público x Como Inteiro Público y Como Inteiro 

Como mostrado na captura de tela acima, comece primeiro com a opção explícita. Por que opção explícita? Irá gerar um erro se usarmos qualquer variável no programa que não esteja definida, portanto, devemos definir todas as variáveis ​​explicitamente. Aqui, definimos quatro variáveis ​​add, pro, x e y. Todas as variáveis ​​são definidas como públicas porque somente essas variáveis ​​podem ser acessadas por outros módulos.

Etapa 5: Até agora, definimos variáveis ​​que agora precisam definir métodos ou funções.

Código:

 Opção Explícito Público adicionar Como Inteiro Público pro Como Inteiro Público x Como Inteiro Público y Como Inteiro Sub sum () add = x + y MsgBox (add) End Sub 

Eu defini um método simples sum (), você pode definir subprogramas complexos conforme o requisito. No sub-método sum (), definimos como executar a operação de adição e onde armazenar esse valor e, finalmente, exibir o resultado em uma caixa de mensagem.

Etapa 6: Um módulo de classe foi criado agora é hora de criar um módulo normal para usar o modelo de classe. Portanto, insira um módulo da mesma maneira que inserimos um módulo de classe.

Etapa 7: Por padrão, o nome do módulo será module1. Podemos mudar, se quisermos. Escreva o código no módulo1.

Código:

 Sub math () Dim obj Como novo modelo obj.x = 5 obj.y = 6 obj.sum End Sub 

Aqui estamos escrevendo um subprograma matemático (). Nisso, criamos um objeto com o nome obj igual a um blueprint de classe. Essa é a razão pela qual definimos "obj como novo blueprint", o que significa duplicação do blueprint e o nome é obj.

Neste programa, não definimos x e y, mas atribuímos diretamente os valores a x e y, porque eles já estão definidos em um módulo de classe e o objetivo é a duplicação. Portanto, ele terá essas variáveis, mas, para chamá-las, devemos usar um nome object.variable.

Obj.x = 5 média, o valor 5 será armazenado na variável x.

Obj.y = 6 o valor médio 6 será armazenado na variável y.

Agora chame os métodos definidos no módulo de classe usando o nome do objeto obj.

Obj.sum () executará a operação de adição conforme definido no módulo de classe. No módulo de classe, definimos como x + y e um objeto, definimos os valores para x e y, portanto, ele pegará os valores e executará o cálculo e armazenará o resultado em add, que é um tipo inteiro. Na última etapa, ele exibirá o resultado na caixa de mensagem.

Etapa 8: Execute o module1 pressionando a tecla F5 ou clicando no botão Play .

Etapa 9: selecione o nome da macro e clique na opção Executar .

Os resultados serão exibidos como abaixo.

Módulo de classe VBA do Excel - Exemplo # 2

Siga os passos abaixo:

Etapa 1: Agora adicione outro método chamado "mul" para executar a operação de multiplicação. O resultado deve ser armazenado nas células (5, 5) da planilha1.

Código:

 Qual é a raiz quadrada de 2 (1) (3) (2 + 2)? 

No método mul () acima, multiplicamos xey, e o resultado é armazenado em "pro", que é um tipo de dados inteiro.

Etapa 2: Agora, vá para o module1 e chame esse método mul usando o objeto obj como abaixo.

Código:

 Sub math1 () Dim obj Como novo modelo obj.x = 5 obj.y = 6 obj.mul End Sub 

Etapa 3: Pressione a tecla F5 para executar o módulo. Vá para a planilha1 e verifique se o resultado será exibido como abaixo.

No exemplo anterior, exibimos resultados na caixa de mensagem, mas no segundo método, exibimos no excel. Portanto, se declararmos as variáveis ​​e os métodos no módulo de classe, podemos usá-lo em outros módulos com a ajuda de um objeto sem repetir o código. Espero que você tenha entendido como inserir o módulo de classe no Excel VBA e como criar um objeto para ele.

Coisas para lembrar

  • É sempre recomendável usar a opção explícita ao preparar um módulo de classe, pois pode haver erro de digitação ao usar variáveis ​​no VBA.
  • Se não mencionarmos o número da planilha para exibir resultados, ela selecionará a planilha ativa automaticamente.
  • Use a palavra-chave pública ao iniciar as variáveis ​​para que as variáveis ​​possam acessar por outros módulos.
  • Você pode chamar as variáveis ​​ou métodos somente depois de criar o objeto. portanto, crie um objeto para a classe e chame as variáveis ​​e métodos.

Artigos recomendados

Este é um guia para o módulo de classe VBA. Aqui discutimos como inserir o módulo de classe no Excel usando o código VBA, juntamente com alguns exemplos práticos e o modelo do Excel para download. Você também pode consultar nossos outros artigos sugeridos -

  1. Localizar e substituir VBA
  2. Soma do Excel por cor
  3. O arquivo de verificação do VBA existe
  4. Tabela Dinâmica de Exclusão do Excel
  5. Código VBA | Exemplos

Categoria: