vba程式再跑時出現執行階段錯誤1004應用程式或物件定義上錯誤
- 帖子
- 2035
- 主題
- 24
- 精華
- 0
- 積分
- 2031
- 點名
- 0
- 作業系統
- Win7
- 軟體版本
- Office2010
- 閱讀權限
- 100
- 性別
- 男
- 註冊時間
- 2012-3-22
- 最後登錄
- 2024-2-1
|
本帖最後由 c_c_lai 於 2016-2-14 09:30 編輯
回復 1# chairles59
假設: B2 = 股價; B3 (含) 以下均為空白- h = Range("b3").End(xlDown).Row
- ' h = 1048576
- h = Range("b2").End(xlDown).Row
- ' h = 1048576
複製代碼 所以- Cells(h + 1, "b") = a(i- 2)
- Cells(h + 1, "e") = b(i- 2)
複製代碼 為- Cells(1048576 + 1, "b") = a(i- 2)
- Cells(1048576 + 1, "e") = b(i- 2)
複製代碼 當然會出現執行階段錯誤1004應用程式或物件定義上錯誤
須改成:- h = Range("B" & Rows.Count).End(xlUp).Row
- ' h = 2
複製代碼 或者是- h = Range("b1").End(xlDown).Row
- ' h = 2
複製代碼 如此- Cells(2 + 1, "b") = a(i- 2)
- Cells(2 + 1, "e") = b(i- 2)
複製代碼 |
|
|
|
|
|
|
|
- 帖子
- 2035
- 主題
- 24
- 精華
- 0
- 積分
- 2031
- 點名
- 0
- 作業系統
- Win7
- 軟體版本
- Office2010
- 閱讀權限
- 100
- 性別
- 男
- 註冊時間
- 2012-3-22
- 最後登錄
- 2024-2-1
|
回復 1# chairles59
又發現你原先定義為- For i = 0 To V - 1
- a(i) = Cells(i * 8 + 5, 2) ' 成交
- b(i) = Cells(i * 8 + 9, 2) ' 總量
- Next
複製代碼 目前你將它改成- For i = 0 To V - 1
- a(i) = Cells(i * 10 + 8, 2)
- b(i) = Cells(i * 10 + 13, 2)
- Next
複製代碼 我不太明白你的用意。
接下來你自行來修正吧。 |
|
|
|
|
|
|
|
- 帖子
- 2035
- 主題
- 24
- 精華
- 0
- 積分
- 2031
- 點名
- 0
- 作業系統
- Win7
- 軟體版本
- Office2010
- 閱讀權限
- 100
- 性別
- 男
- 註冊時間
- 2012-3-22
- 最後登錄
- 2024-2-1
|
回復 1# chairles59
本相關類似「提問」以後請在『Excel程式區』或是『Excel一般區』中提出發表,
而非在此 『管理公告』區裡提問,否則是無人留意而幫你釋疑的。 |
|
|
|
|
|
|
|