Módulos de classe VBA

Módulos de classe Excel VBA

Quando usamos o VBA, usamos as propriedades e atributos definidos no VBA, mas o que acontece quando queremos criar nossas próprias propriedades, métodos e atributos, é quando usamos um módulo de classe em VBA para que possamos defini-lo pelo usuário, um módulo de classe tem seu próprio conjunto de códigos definidos para funções, propriedades e objetos pelo usuário.

Módulos de classe são usados ​​para criar um objeto. Quando dizemos objetos, embora seja uma variável, esses são pequenos programas. Ao escrever o código, geralmente escrevemos em módulos. Módulos básicos são onde escrevemos nossos códigos para fazer o trabalho. Também usamos o formulário do usuário para criar interfaces gráficas do usuário.

Mas se você olhar para a imagem acima, verá “Módulo de aula”. Tenho certeza de que você não tocou nisso até ler este post. Você deve estar se perguntando o que é esse módulo de classe VBA quando todo o trabalho pode ser feito usando nosso próprio módulo regular.

O que é o módulo de classe?

Módulos de classe permitem que um usuário crie seu próprio objeto da mesma forma que temos objetos embutidos em módulos regulares como “Planilhas”, “Pastas de trabalho”, “Alcance” e assim por diante.

Assim, usando um módulo de classe, podemos criar objetos personalizados.

A classe tem uma relação direta com os objetos. Por exemplo, você tem um diagrama de máquina para construir uma máquina, mas lembre-se de que ainda não é uma máquina e, usando este diagrama de máquina, podemos construir muitas máquinas assim.

Por exemplo, se você deseja listar várias marcas de máquinas para listar as características de vários modelos.

Na máquina, temos uma marca, número de série, potência da máquina, cor da máquina, número de motores envolvidos, tipo de combustível do motor, etc. ... Em linguagem técnica, são chamados de “propriedades”.

No que diz respeito às propriedades da máquina, podemos dar a partida, podemos desligar, podemos aumentar a velocidade do motor, podemos fazer uma pausa, etc ... E estes são chamados de “Métodos”.

Exemplo

Você pode baixar este modelo de classe VBA aqui - modelo de classe VBA

Vamos começar a rolar porque é sempre chato ler a parte teórica. Para inserir um módulo de classe vá até a opção inserir no editor visual basic.

Agora podemos ver um módulo de classe como o abaixo.

Isso é semelhante ao que temos acima como um módulo regular. Altere o nome do módulo de classe na janela de propriedades. Para ver a janela de propriedades, pressione a tecla F4 .

Agora declare a variável como uma string.

Sem criar um subprocedimento em vba, precisamos declarar a variável e também desta vez usando a palavra “Público” e não “Dim”.

Agora podemos acessar essa variável em qualquer módulo e módulo de classe.

Agora vá para um módulo regular e nomeie a variável.

Depois de declarar a variável, precisamos atribuir o tipo de dados em VBA, em vez de atribuir o tipo de dados, podemos apenas fornecer o nome do módulo de classe, ou seja, CM

Agora usando a variável “k” podemos acessar a variável pública que definimos no módulo de classe, ou seja, “Meu valor”.

Como podemos ver na imagem acima está mostrando a opção de nome da variável do módulo de classe para atribuir o valor a ela.

Agora mostre o valor da variável atribuída na caixa de mensagem do VBA.

Código:

 Sub Class_Example () Dim k As New CM k.MyValue = "Olá" MsgBox k.MyValue End Sub 

Execute este código usando a tecla F5 ou manualmente para mostrar o resultado.

Módulo de classe vs objetos

No estágio inicial do módulo de aula, todos se confundem com o que é classe e o que é objeto.

Para entender isso, lembre-se de nosso exemplo anterior de um diagrama de máquina. A primeira coisa que precisamos para produzir uma máquina é projetar a máquina primeiro e, em seguida, várias cópias podem ser replicadas com esse design.

Agora relacione isso ao nosso módulo de aula.

  • Aqui, Módulo de Classe é um Projeto. E Objeto é a cópia criada pelo Design.
  • Outra coisa interessante é que precisamos usar a palavra “novo” para criar um objeto do módulo de classe.

Abaixo está um exemplo do mesmo.

Mais uma coisa, quando usamos objetos integrados como planilhas, pastas de trabalho e objetos de intervalo, não usamos a palavra “novo”

Para iniciar os procedimentos com o Módulo de aula, essas coisas básicas você deve saber. Nos próximos artigos, veremos os exemplos do próximo nível.

Parece difícil entender isso, quanto mais tempo você gasta com um módulo de aula, você se acostuma.