excel 運行時錯誤9下標(biāo)越界的處理方法
excel中vba提示下標(biāo)超界,說明對象不存在或者數(shù)組元素不存在。
舉個簡單的例子:工作表中沒有"1月"這個工作表,卻用Sheets("1月");數(shù)組定義的是arr(1 to 10),卻用Arr(11),都會出現(xiàn)下標(biāo)越界的提示。
簡單的理解:下標(biāo)越界就是引用超出了所在的范圍。
當(dāng)我們在excel的VBA中輸入下面代碼,運行,就會出現(xiàn)“運行時錯誤9下標(biāo)越界”的提示。代碼如下:
Sub a()Dim arr() As Stringarr(1) = "你好"End Sub
其實上面的“運行時錯誤9下標(biāo)越界”是因為定義的動態(tài)數(shù)組沒有確定維數(shù)和尺寸。定義成固定維數(shù)和尺寸的,或用Redim界定一下維數(shù)和尺寸即可解決此問題。
改正后的代碼如下:
Sub a()Dim arr() ‘定義一個動態(tài)數(shù)組Dim i As IntegerReDim arr(1 To 3) ‘定義一個3個元素的數(shù)組,并且對數(shù)組進行初始化arr(1) = 3arr(2) = 4arr(3) = 5‘在下面語句重新定義一個10個元素的數(shù)組,清除前面的元素,并重新分配新的存儲變量ReDim arr(1 To 10)For i = 1 To 10arr(i) = iNext iEnd Sub