Olá A todos, após um bom tempo sem postar estou cheio de novidades.

O problema é o tempo!
Abaixo segue como desenvolver usando Classes em VBA!

Uso de Classes

Para ficar claro vamos ver o exemplo abaixo, será criado uma classe chamada Empregado.

Classes em VBA

como inserir classe

Nessa classe vamos colocar instruções de como criar objetos do tipo Empregado, e ela terá três propriedades: Nome, Endereço e Salário.

Ou seja, após criar a classe Empregado, copie o código abaixo e cole em sua classe Empregado criada:

______________________________________________________

Option Explicit

'Esta Classe possiu três propriedades: Nome, Endereço e Salário,
'representados pelas variáveis pNome, pEndereço e pSalário, respectivamente.

Private pNome As String
Private pEndereço As String
Private pSalário As Double

'Abaixo seguem as declarações de propriedade de como são lidas e gravadas.

'Propriedade Nome:
Public Property Get Nome() As String
Nome = pNome
End Property
Public Property Let Nome(s As String)
pNome = s
End Property

'Propriedade Endereço:
Public Property Get Endereço() As String
Endereço = pEndereço
End Property
Public Property Let Endereço(s As String)
pEndereço = s
End Property

'Propriedade Salário:
Public Property Get Salário() As Double
Salário = pSalário
End Property
Public Property Let Salário(d As Double)
pSalário = d
End Property

_____________________________________________________________
Conforme o código para cada uma das propriedades existe um procedimento Get e outro Let.

  • O Get é chamado quando se deseja ler o valor de uma propriedade. Ou seja ler o valor que já existe na classe
  • O Let é chamado quando se deseja atribuir um valor à uma propriedade, em outras palavras quando você deseja inserir um valor na classe

Para utilizarmos a classe Empregado vamos criar um módulo (comum, e não de classe) conforme código abaixo(copie e cole):

____________________________________________________________

Sub Empregados()

Dim emp As Empregado
Set emp = New Empregado

emp.Nome = "Felipe"
emp.Endereço = "Rua A, 12/901"
emp.Salário = 1000

Debug.Print emp.Nome
Debug.Print emp.Endereço
Debug.Print emp.Salário

End Sub

___________________________________________________________

Agora você pode fazer suas Classes em VBA!!
Uma sugestão é testar o código acima depurando detalhadamente com o F8

Fontes:
http://www.cpearson.com/Excel/Classes.aspx
http://www.ambienteoffice.com.br/officevba/modulos_de_classe/