VBA创建嵌套类型

时间:2018-10-07 17:27:22

标签: excel vba

我正在使用VBA宏在excel中学习。我正在尝试创建一个类型为MessageID。此类型具有四个变量,例如Message_ID,Message_Name,Message_Byte和Message_Bit等字符串。一条消息只有一个Message_ID。一个Message_ID具有多个Message_Name,每个名称都有一个字节。换句话说,我需要一个具有一些变量的类型。因此,我正在尝试使上面的代码起作用。但是这些变量需要保留一些变量。但是,当然,它不起作用。

我该如何解决?谢谢。

Public Type Message

  Message_ID As String

  Public Type Message_CH

    Message_Name As String
    Message_Byte As String
    Message_Bit As String

  End Type

End Type

1 个答案:

答案 0 :(得分:0)

您需要取消嵌套,然后将子类型用作超级类型的成员:

Public Type SubMessage
    Message_Name As String
    Message_Byte As String
    Message_Bit As String
End Type

Public Type Message
    Message_ID As String
    Message_CH As SubMessage
End Type

然后您将像这样从超级类型访问子类型:

Sub Foo()
    Dim x As Message
    Debug.Print x.Message_CH.Message_Name
End Sub

不过,我怀疑编写一个类并改为使用它会更好地为您服务。