Excel中vba提示下標(biāo)超界,說明對象不存在或者數(shù)組元素不存在。
舉個(gè)簡單的例子:工作表中沒有"1月"這個(gè)工作表,卻用Sheets("1月");數(shù)組定義的是arr(1 to 10),卻用Arr(11),都會(huì)出現(xiàn)下標(biāo)越界的提示。
簡單的理解:下標(biāo)越界就是引用超出了所在的范圍。
當(dāng)我們在excel的VBA中輸入下面代碼,運(yùn)行,就會(huì)出現(xiàn)“運(yùn)行時(shí)錯(cuò)誤9下標(biāo)越界”的提示。代碼如下:
Sub a()
Dim arr() As String
arr(1) = "你好"
End Sub
其實(shí)上面的“運(yùn)行時(shí)錯(cuò)誤9下標(biāo)越界”是因?yàn)槎x的動(dòng)態(tài)數(shù)組沒有確定維數(shù)和尺寸。定義成固定維數(shù)和尺寸的,或用Redim界定一下維數(shù)和尺寸即可解決此問題。
改正后的代碼如下:
Sub a()
Dim arr() '定義一個(gè)動(dòng)態(tài)數(shù)組
Dim i As Integer
ReDim arr(1 To 3) '定義一個(gè)3個(gè)元素的數(shù)組,并且對數(shù)組進(jìn)行初始化
arr(1) = 3
arr(2) = 4
arr(3) = 5
'在下面語句重新定義一個(gè)10個(gè)元素的數(shù)組,清除前面的元素,并重新分配新的存儲(chǔ)變量
ReDim arr(1 To 10)
For i = 1 To 10
arr(i) = i
Next i
End Sub
核心關(guān)注:拓步ERP系統(tǒng)平臺(tái)是覆蓋了眾多的業(yè)務(wù)領(lǐng)域、行業(yè)應(yīng)用,蘊(yùn)涵了豐富的ERP管理思想,集成了ERP軟件業(yè)務(wù)管理理念,功能涉及供應(yīng)鏈、成本、制造、CRM、HR等眾多業(yè)務(wù)領(lǐng)域的管理,全面涵蓋了企業(yè)關(guān)注ERP管理系統(tǒng)的核心領(lǐng)域,是眾多中小企業(yè)信息化建設(shè)首選的ERP管理軟件信賴品牌。
轉(zhuǎn)載請注明出處:拓步ERP資訊網(wǎng)http://www.oesoe.com/
本文標(biāo)題:運(yùn)行時(shí)錯(cuò)誤9下標(biāo)越界的處理方法
本文網(wǎng)址:http://www.oesoe.com/html/support/11139213253.html