Esempio di classe
Info
Esempi
Linguaggio
Librerie
Formule
Ultimi Inseriti

 Login

 Password

Argomenti correlati
Un esempio di classe che consente di vedere l'utilizzo dei campi privati, pubblici, delle proprietà e delle funzioni pubbliche.

La classe clsPersone contiene:
  1. 2 campi privati: pNome e pNatoIl;
  2. 1 campo pubblico Riga
  3. le proprietà Get e Let per i campi pNome e pNatoIl;
  4. una funzione per il calcolo dell'età.

'--- campi privati ---
Private pNome As String
Private pNatoIl As Date
'--- campi pubblici ---
Public Riga As Integer


'--- Proprietà ---
Property Get Nome() As String
  Nome = pNome
End Property

Property Let Nome(tNome As String)
  pNome = tNome
End Property


Property Get NatoIl() As Date
  NatoIl = pNatoIl
End Property

Property Let NatoIl(tNatoIl As Date)
  pNatoIl = tNatoIl
End Property


'--- Funzioni ---
Function Eta() As Integer
  varEta = DateDiff("yyyy", pNatoIl, Now)
  ComplAnnoAtt = DateSerial(Year(Now), Month(pNatoIl), Day(pNatoIl))
  If (Date < ComplAnnoAtt) Then
    varEta = varEta - 1
  End If
  Eta = CInt(varEta)
End Function


La macro sotto scorre una tabella come quella qui a destra riempiendo una collection con elementi della classe clsPersone, successivamente scorre gli elementi per compilare l'età.

Sub Analizza()
  Dim Persone As New Collection
  
  r = 3
  While (Cells(r, 2) <> "")
    ' crea l'oggetto
    Dim Persona As New clsPersone
    Persona.Nome = Cells(r, 2)
    Persona.NatoIl = Cells(r, 3)
    Persona.Riga = r
    
    ' aggiunge l'oggetto creato alla collection
    Persone.Add Item:=Persona
    
    ' distrugge l'oggetto
    Set Persona = Nothing
    
    r = r + 1
  Wend

  'analizza gli oggetti della collection
  Dim iPersona As clsPersone
  For Each iPersona In Persone
    Cells(iPersona.Riga, 4) = iPersona.Eta
  Next iPersona

End Sub


L'esempio completo é scaricabile da questo link: Es220.xlsm (a questo link le info per attivare le macro se risultano bloccate)

Gli esempi contenuti nel sito sono per uso personale, non é consentito l'uso professionale, commerciale o la riproduzione senza autorizzazione.
Per dubbi o domande potete scriverci a domande@macrofacili.it, sulla nostra pagina FB MacroFacili.it o sul gruppo FB Excel, macro e formule.
 

data4idea srls - PIva 01881000937 - info@data4idea.it