vba執行顯示 執行時錯誤「9」 下標越界

時間 2023-03-17 13:30:04

1樓:匿名使用者

有可能是陣列,超過上屆導致的。

報錯的時候,建議樓主選擇除錯,然後會在報錯的一行**顯示黃色底色吧。

滑鼠放到各個變數上看看,到底是哪個出的問題。

vba執行時錯誤9,下標越界

2樓:很多很多

excel中vba提示下標超界,說明物件不存在或者陣列元素不存在。

舉個簡單的例子:工作表中沒有"1月"這個工作表,卻用sheets("1月");陣列定義的是arr(1 to 10),卻用arr(11),都會出現下標越界的提示。

簡單的理解:下標越界就是引用超出了所在的範圍。

1、當我們在excel的vba中輸入下面**,執行,就會出現「執行時錯誤9下標越界」的提示。**如下:

sub a()

dim arr() as string

arr(1) =你好"

end sub

2、其實上面的「執行時錯誤9下標越界」是因為定義的動態陣列沒有確定維數和尺寸。定義成固定維數和尺寸的,或用redim界定一下維數和尺寸即可解決此問題。

改正後的**如下:

sub a()

dim arr() 定義一個動態陣列。

dim i as integer

redim arr(1 to 3) '定義一個3個元素的陣列,並且對陣列進行初始化。

arr(1) =3

arr(2) =4

arr(3) =5'在下面語句重新定義一個10個元素的陣列,清除前面的元素,並重新分配新的儲存變數。

redim arr(1 to 10)

for i = 1 to 10

arr(i) =i

next i

end sub,就可以了。

3樓:匿名使用者

所謂下標越界就是沒有找到的意思,這裡的與下標有關的就是工作簿workbooks、工作表sheets和單元格range了,這3者之一沒有找到都會提示下標越界。workbooks必須開啟了工作簿才能找得到,在這種前提下sheets必須存在才行,range只要語法不錯一般不會有問題。當然sheets最好寫成worksheets。

excel 為什麼 執行時錯誤9 下標越界

4樓:余余

c:\users\騰\desktop\ 這個檔名是否修改過或位置變動了,不在所指向的資料夾下?

5樓:陽光上的橋

是不存在msgsheetname這個名字的工作表,如果這個msgsheetname的值是整數,excel是不是以名稱、而是序號去找表表,你先顯示一下變數的值就明白了,例如:

msgbox msgsheetname

6樓:匿名使用者

出錯時,點除錯,開啟本地視窗,看下是哪個表出錯。

比如,出錯時顯示i為5,那麼檢查test5月表名中是否包含空格及其他會導致錯誤的情況。

或者,根本就沒有test5月這張表。

**沒看出問題。

7樓:匿名使用者

excel提示下標越界是vba程式執行的一個錯誤提示,原因有以下幾個:

1、引用了不存在的陣列元素:下標比可能下標範圍大或小,或是在應用程式中這一邊的陣列沒有指定範圍。

2、宣告陣列時沒有指定元素的數目:引用了不存在的集合成員。

3、使用速寫形式的下標,結果指定了錯誤的元素。

4、引用或操作的工作薄、工作表不存在。

vba問題「提示執行時錯誤9 下標越界」 100

8樓:不想起名字了

修改你相關行。

從第四行開始。

dim bw as workbook

set wb="c:\每日溼貨報表。xls")

"中創kfc入庫").shift:=xlup

"ph溼貨入庫單").shift:=xlup

"每日溼貨出貨重量").shift:=xlup

你的程式出錯是sheets(..預設的是從 當前工作簿中找。

你應該不用預設值,用全限定符。

從上面**看,你是從錄製的巨集修改的。

中間還有很多select,這些都不用。

9樓:匿名使用者

是不是有多個工作簿,你沒有指定工作簿吧?

vba 執行時錯誤'9' 下標越界

excel vba 執行時錯誤9 下標越界

10樓:端蒙洋贊怡

sheet1看看是否此名稱的工作表不錯在!或者大小寫應該是sheet1

vba 執行時錯誤9 下標越界

11樓:兄弟連教育北京總校

錯誤9 下標越界」錯誤發生在**行「note = worksheets("feuil1").range(cells(g, i), cells(g, i)).value」,這裡的引用「worksheets("feuil1")」是最易發生錯誤的,引用的表名「feuil1」必須是「name」屬性值而不是「名稱」屬性值,也就是應該是器的物件瀏覽器裡「microsoft excel」物件的括號裡的值,同時也是**介面裡的工作表標籤的名稱。

順便說一下,後面還有一些其他錯誤(比如「cells(g, i).value <>這個引用錯誤,會導致執行時錯誤1004「應用程式定義或物件定義錯誤」)。

excel vba 執行時錯誤9,下標越界

12樓:excel辦公實戰

sheet1看看是否此名稱的工作表不錯在!或者大小寫應該是sheet1

excel vba執行錯誤「9」下標越界

excel提示下標越界是vba程式執行的一個錯誤提示,原因有以下幾個 1 引用了不存在的陣列元素 下標比可能下標範圍大或小,或是在應用程式中這一邊的陣列沒有指定範圍。2 宣告陣列時沒有指定元素的數目 引用了不存在的集合成員。3 使用速寫形式的下標,結果指定了錯誤的元素。4 引用或操作的工作薄 工作表...

visual basic 執行時錯誤

因為我平時也經常用巨集處理資料,所以,個人認為出現這種情況要能有以下幾種原因 檔案的位置,檔名,excel標籤頁的名字 如sheet1,sheet2或是其它名字 是否符合巨集的規範。檔案裡有資料格式與巨集規定的不一致,比如a1單元格中應該是 數值型 的,卻寫了文字字元。或是其它地方複製過來,有空格 ...

Excel vba執行時錯誤91物件變數或with塊變數未設定

沒有活動的worksheet物件。回答excel用巨集做查詢動作,如果查詢不到,就出這個錯誤。修改 前面部分如下 dim frow as integer if txt1.value then 先判斷使用者名稱是否為空 msgbox 使用者名稱不能為空!vbinformation,系統提示 exit ...