http://www.cpearson.com/Excel/Classes.aspx
Very^2 simple example -- Chip has a lot more information, and a good explanation of classes
You can have subs and function in a class module also
In a Standard Module
Option Explicit
Sub test()
Dim Qtrs(1 To 4) As clsFinQuarter
Dim i As Long
For i = LBound(Qtrs) To UBound(Qtrs)
Set Qtrs(i) = New clsFinQuarter
Qtrs(i).FinMonthNum = 3 * (i - 1)
Next i
MsgBox Qtrs(2).FinMonthName ' Jan
MsgBox Qtrs(4).FinMonthName ' Jul
End Sub
In a Class module
Option Explicit
Private m_MonthNum As Long
Private m_FinMonthNum As Long
Private m_FinMonthNames As Variant
Private Sub Class_Initialize()
m_FinMonthNames = Array("Oct", "Nov", "Dec", "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep")
End Sub
Property Let MonthNum(N As Long)
m_MonthNum = N
End Property
Property Get MonthNum() As Long
MonthNum = m_MonthNum
End Property
Property Let FinMonthNum(N As Long)
m_FinMonthNum = N
End Property
Property Get FinMonthNum() As Long
FinMonthNum = m_FinMonthNum
End Property
Property Get FinMonthName() As String
FinMonthName = m_FinMonthNames(FinMonthNum)
End Property