本質上,我有一個Updata按鈕,可以從兩個電子表格(1本書內)的兩列獲取信息。此代碼的總體目標是從一列中獲取所有值,然後在其下方的另一列中追加值。Excel中的VBA代碼隨機停止執行。沒有錯誤信息
Worksheets("Overall Flow").Range("A4:A1004").Value = Worksheets("Active").Range("A2:A1002").Value
Dim i As Integer
For i = 4 To 1004
If Worksheets("Overall Flow").Range("A" & Trim(str(i))) = "" Then
Worksheets("Overall Flow").Range("A" & Trim(str(i)) & ":A" & Trim(str(1000 + i))).Value = Worksheets("Inactive").Range("A2:A1002").Value
i = 1005
End If
Next
出於某種原因,第一行執行,然後結束。當我放置斷點時,然後一步一步地做,之後再沒有其他步驟發生。
當我單獨運行的第一線,這似乎很好地工作,而不是在:
Worksheets("Overall Flow").Range("A" & Trim(str(i)) & ":A" & Trim(str(1000 + i))).Value = Worksheets("Inactive").Range("A2:A1002").Value
或
Worksheets("Overall Flow").Range("A4:A1004").Value = Worksheets("Inactive").Range("A2:A1002").Value
存在aftwards。
實際上您有3個電子表格:「總體流量」,「活動」和「非活動」。當我運行這個時,它可以正常工作......假設它正在做你認爲應該做的事情。它遍歷A4:A1004中的每個單元格,當單元格爲空白時,它將來自非活動表格的值複製到「Overall Flow」表格的最後一行,然後結束程序。不知道你在做什麼,但代碼爲我運行。如果它的語法正確,你不會得到任何錯誤。你能更具體地說明它應該做什麼以及你的3張牀單是什麼樣的? – transistor1
這正是它應該如此。它第一次運作。但之後,它就停止了工作。 – Mike
這可能是因爲從A4:A1004範圍內的「整體流程」工作表中不再有任何空白單元格從「非活動」工作表複製(除非「非活動」工作表也具有空白單元格)? – transistor1