Ответ 1
Это боль в шее, но это единственный способ сделать это.
Файл
Option Explicit
Private pNumber As String
Private pQuantity As Double
Private Sub Class_Initialize()
pNumber = vbNullString
pQuantity = 0
End Sub
Public Sub InitializeWithValues(ByVal number As String, ByVal quantity As Double)
pNumber = number
pQuantity = quantity
End Sub
Public Sub InitializeDefaultValues()
pNumber = vbNullString
pQuantity = 99999
End Sub
и в вызывающем модуле
Dim art As New CArticle ' Initialize value to empty
art.InitializeWithValues "Bowtie", 100 ' and assign values
Set art = New CArticle ' Initialize values to empty
art.InitializeDefaultValues ' Initialize values to default