VBA-将数组存储在类中-类型不匹配

塞思·卡尼亚(Seth Kania)

我一直在搜寻,但似乎没有办法解决我的问题。这是问题所在:

我想存储“键”数组这是我的简单类:

Private pkeys_length As Integer
Private pkeys() As String
Public Property Get keys_length() As Integer
    keys_length = pkeys_length
End Property
Public Property Let keys_length(arg As Integer)
    pkeys_length = arg
End Property
Public Property Get Keys() As String
    Keys = pkeys()
End Property
Public Property Let Keys(ByVal arg As String)
    ReDim pkeys(0 To pkeys_length) As String
    pkeys = arg
End Property

这是我要存储的内容:

Dim str_pkeys() As String
Dim pkey_count As Integer
pkey_count = CountPrimaryKeys(stbl)
'Store the keys of that table
ReDim str_pkeys(pkey_count) As String
keyset_1.keys_length = pkey_count
str_pkeys = FindPrimaryKeys(keyset_1.Table)
keyset_1.Keys = str_pkeys

就目前而言,它给出了错误,Compile Error: Type mismatch我在存储数组时遇到了几个问题,我不确定我是否真的到了任何地方。这是我无法修复的唯一错误。我需要做的就是将字符串数组存储在类中。

有人熟悉该怎么做吗?

彼得·艾伯特

我认为您需要String()在Get属性中使用,并ByVal在Let中删除

Private pkeys_length As Integer
Private pkeys() As String

Public Property Get keys_length() As Integer
    keys_length = pkeys_length
End Property

Public Property Let keys_length(arg As Integer)
    pkeys_length = arg
End Property
Public Property Get Keys() As String()
    Keys = pkeys
End Property

Public Property Let Keys(arg() As String)
    ReDim pkeys(0 To pkeys_length) As String
    pkeys = arg
End Property

除了这个小的设计建议:您真的需要一个Set作为数组长度吗?为什么不将其包含在数组的集合中,而仅提供Get呢?

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

类型与数组不匹配:VBA Excel

来自分类Dev

Excel VBA数组类型不匹配

来自分类Dev

Excel VBA中的类型不匹配错误

来自分类Dev

QueryTables 中的 VBA 类型不匹配错误

来自分类Dev

VBA错误13类型不匹配

来自分类Dev

VBA 2042类型不匹配-#N / A-阵列

来自分类Dev

无法解决 VBA 数组错误 13 类型不匹配

来自分类Dev

在VBA中的替换功能中获取类型不匹配错误

来自分类Dev

使用mmult时VBA中的类型不匹配错误

来自分类Dev

VBA中SQL查询上的数据类型不匹配

来自分类Dev

使用mmult时VBA中的类型不匹配错误

来自分类Dev

VBA中具有布尔变量的类型不匹配错误

来自分类Dev

简单的VBA矩阵代码中的类型不匹配错误

来自分类Dev

Excel VBA:增量变量中的类型不匹配

来自分类Dev

VBA 中的类型 13 数据不匹配错误

来自分类Dev

类型不匹配错误,将字符串从数组(在VBA中)传递给函数

来自分类Dev

VBA类型不匹配(13)

来自分类Dev

类型不匹配:Excel VBA

来自分类Dev

访问VBA类型不匹配

来自分类Dev

类型不匹配的VBA阵列

来自分类Dev

VBA错误:类型不匹配

来自分类Dev

类型不匹配Excel VBA

来自分类Dev

类型不匹配的VBA阵列

来自分类Dev

类型不匹配:Excel VBA

来自分类Dev

VBA:类型与PivotCaches不匹配

来自分类Dev

VBA Excel将字符串数组元素转换为长“类型不匹配”

来自分类Dev

Excel VBA中的锯齿状数组,类型不匹配错误

来自分类Dev

模式在VBA中不匹配

来自分类Dev

VBA Excel:由于字符过多,运行时错误13类型不匹配