Vbscript中的Redim语句出错

时间:2012-12-19 12:29:43

标签: excel-vba vbscript vba excel

对于以下代码,我收到以下错误:Expected ')'

**CODE**

  Set dicParentChild = CreateObject("Scripting.Dictionary")
    For i = 1 To height
        width = objExcel1.Application.WorksheetFunction.CountA(ob2.Columns(i))
      If width > 2 Then 
        ReDim values(1 To (width - 2))
        Key = ob2.Cells(i, 1).Value
        For j = 3 To width
            values(j - 2) = ob2.Cells(i, j).Value
        Next j
        dicParentChild.Add Key, values
      End If
    Next i

任何人都可以帮助我吗?

由于

1 个答案:

答案 0 :(得分:3)

VBScript的数组是从零开始的。要指定数组的大小,必须使用(Re)Dim a(LastIndexToUse)(Re)Dim a(3)将创建一个包含4个插槽的数组(索引:0,1,2,3)。

VBA允许指定第一个最后一个索引(使用From To To语法)。

因此,您必须考虑需要多少项,减去1以获取(Re)Dim的最后一个索引参数,并在从单元格/行/列号计算数组索引时非常小心。