Vba 记录集值可以用作Excel索引值吗?

Vba 记录集值可以用作Excel索引值吗?,vba,excel,Vba,Excel,我有一个Excel电子表格,它从Oracle数据库获取设置。我试图通过使用记录集值(工作表的名称)调用工作表来更新每个工作表的行高。rsSettings(1)是一个字符串值,它是工作表名称。rsSettings(2)是行号,rsSettings(3)是行高。这给了我一个类型不匹配错误: Do Until rsSettings.EOF WB.Worksheets(rsSettings(1)).Cells(rsSettings(2), 1).RowHeight = rsSettings(3)

我有一个Excel电子表格,它从Oracle数据库获取设置。我试图通过使用记录集值(工作表的名称)调用工作表来更新每个工作表的行高。rsSettings(1)是一个字符串值,它是工作表名称。rsSettings(2)是行号,rsSettings(3)是行高。这给了我一个类型不匹配错误:

Do Until rsSettings.EOF
    WB.Worksheets(rsSettings(1)).Cells(rsSettings(2), 1).RowHeight = rsSettings(3)
    rsSettings.MoveNext
Loop
如果我用文字字符串值或从rsSettings(1)获取其值的字符串变量替换rsSettings(1),或者(正如我刚刚发现的)如果我使用CStr(rsSettings(1))替换rsSettings(1),那么这是可行的。(此外,我还可以将值写入单元格。)


因此,虽然现在使用CStr()解决了这个问题,但是否可以将记录集值用作索引值所在的字符串值?

使用.value对字符串有效。谢谢

请尝试
CDbl(rsSettings(3))
将其强制为
双精度数值。请特别尝试使用字段的
.value
属性,而不是依赖默认行为。