VBA中使用简单类时出现错误91

VBA中使用简单类时出现错误91,vba,excel,editor,Vba,Excel,Editor,我在第6行遇到了一个错误91。以下是CIS类: Dim newCIS As CIS Dim newString As String Private Sub CommandButton1_Click() newString = "lol" newCIS.ContactName = newString UserForm1.Label1.Caption = newCIS.ContactName End Sub 我还尝试使用set函数代替property let,但这也会导致

我在第6行遇到了一个错误91。以下是CIS类:

Dim newCIS As CIS
Dim newString As String

Private Sub CommandButton1_Click()
    newString = "lol"
    newCIS.ContactName = newString
    UserForm1.Label1.Caption = newCIS.ContactName
End Sub

我还尝试使用set函数代替property let,但这也会导致错误。是否有一些关于vba中面向对象编程的关键知识我还没有掌握?

您忘记了创建该类的新实例:

Private strContactName As String

Property Let ContactName(name As String)
    Set strContactName = name
End Property

Property Get ContactName() As String
    Set ContactName = strContactName
End Property

您忘记创建该类的新实例:

Private strContactName As String

Property Let ContactName(name As String)
    Set strContactName = name
End Property

Property Get ContactName() As String
    Set ContactName = strContactName
End Property

可能值得注意的是,您不需要设置类属性
ContactName=strContactName
将完成此任务。可能值得注意的是,您不需要
设置类属性
ContactName=strContactName
将完成此任务。完成了!你能告诉我为什么Dim newCIS as CIS不创建类的实例吗?非常感谢!因为它只声明了一个对象变量。它不会初始化它。这就是
New
关键字的作用。感谢您的帮助!成功了!你能告诉我为什么Dim newCIS as CIS不创建类的实例吗?非常感谢!因为它只声明了一个对象变量。它不会初始化它。这就是
New
关键字的作用。感谢您的帮助!