2015-02-19 2 views
2

У меня есть класс модуля файл «CombinaisonLine» в моей папке модулей класса:использование класса модуль VBA

Private pAdult As String 
Private pChild As String 
Public Property Get Adult() As String 
    Adult = pAdult 
End Property 
Public Property Let Adult(Value As String) 
    pAdult = Value 
End Property 

Public Property Get Child() As String 
    Child = pChild 
End Property 
Public Property Let Child(Value As String) 
    pChild = Value 
End Property 

В моей папке модулей, у меня есть функция вызывается, когда я нажимаю на кнопку в моем листе:

Function Test() 
Dim Line As CombinaisonLine 
If (Sheets("Feuil1").Cells(3, 6).Value = "YES") Then 
     Line.Adult = "1" 
     Line.Child = "0"    
End If 
End Function 

Я получаю ошибку 91 в строке «Line.Adult =» 1 «» со следующим сообщением (я использую французский вариант, поэтому я переводил сообщение на английском языке):

execution error "91": 
Object variable or Bloc variable With not defined 

Я не знаю, чего у меня нет. Заранее спасибо за помощь

ответ

3

Вам нужно создать объект класса CombinaisonLine первым, и уничтожить, когда она не нужна:

Function Test() 
Dim Line As CombinaisonLine 

Set Line = New CombinaisonLine 

If (Sheets("Feuil1").Cells(3, 6).Value = "YES") Then 
     Line.Adult = "1" 
     Line.Child = "0"    
End If 

Set Line = Nothing 

End Function