返回列表 上一主題 發帖

vba程式再跑時出現執行階段錯誤1004應用程式或物件定義上錯誤

本帖最後由 c_c_lai 於 2016-2-14 09:30 編輯

回復 1# chairles59
假設: B2 = 股價; B3 (含) 以下均為空白
  1.    h = Range("b3").End(xlDown).Row
  2.    ' h = 1048576

  3.    h = Range("b2").End(xlDown).Row
  4.    ' h = 1048576
複製代碼
所以
  1.    Cells(h + 1, "b") = a(i- 2)
  2.    Cells(h + 1, "e") = b(i- 2)
複製代碼
為
  1.    Cells(1048576 + 1, "b") = a(i- 2)
  2.    Cells(1048576 + 1, "e") = b(i- 2)
複製代碼
當然會出現執行階段錯誤1004應用程式或物件定義上錯誤
須改成:
  1.    h = Range("B" & Rows.Count).End(xlUp).Row
  2.    ' h = 2
複製代碼
或者是
  1. h = Range("b1").End(xlDown).Row
  2. ' h = 2
複製代碼
如此
  1.    Cells(2 + 1, "b") = a(i- 2)
  2.    Cells(2 + 1, "e") = b(i- 2)
複製代碼

TOP

回復 1# chairles59
又發現你原先定義為
  1.    For i = 0 To V - 1
  2.        a(i) = Cells(i * 8 + 5, 2)      '  成交
  3.        b(i) = Cells(i * 8 + 9, 2)      '  總量
  4.    Next
複製代碼
目前你將它改成
  1.    For i = 0 To V - 1
  2.        a(i) = Cells(i * 10 + 8, 2)
  3.        b(i) = Cells(i * 10 + 13, 2)
  4.    Next
複製代碼
我不太明白你的用意。
接下來你自行來修正吧。

TOP

回復 1# chairles59
本相關類似「提問」以後請在『Excel程式區』或是『Excel一般區』中提出發表,
而非在此  『管理公告』區裡提問,否則是無人留意而幫你釋疑的。

TOP

        靜思自在 : 不要小看自己,因為人有無限的可能。
返回列表 上一主題