2015-08-20 54 views
0

下面是我寫的簡單腳本。我不知道爲什麼它給了我錯誤:因爲沒有下一個。我搜索過,唯一可以解釋的原因是我的電腦對於這個腳本運行速度太慢,儘管我知道情況並非如此。請幫忙。VBA對於沒有下一個錯誤的簡單腳本

For y = 2 To tbl.ListRows.Count 
    If Month(tbl.DataBodyRange(2, 1)) = Month(tbl.DataBodyRange(2 - 1, 1)) Then 
     Next 
    Else 
     months = months + 1 
     Next 
    End If 
    Exit For 
+0

我正確縮進了你的代碼。也許這會幫助你在這裏看到你的錯誤。 – Bond

+0

謝謝,但它仍然給我沒有下一個錯誤:/ – user5247614

+0

當然是。除了你的縮進之外,我沒有改變任何東西,以幫助你確定哪裏出錯。 – Bond

回答

0

你的方法不是你如何使用for循環。您始終以For ... To開頭,並在循環的最後以Next結尾。

For y = 2 To tbl.ListRows.Count 
    If Month(tbl.DataBodyRange(2, 1)) = Month(tbl.DataBodyRange(2 - 1, 1)) Then 
     'do nothing here 
    Else 
     months = months + 1 
    End If 
Next 

這種方式它應該工作。也許你打算使用Next語句來開始循環中的下一次迭代。但是if-case確保沒有別的東西被執行。

+0

啊。我以爲你必須在「Then」之後給它一個命令。謝謝! – user5247614

+0

如果它幫助你,隨時接受這個答案。 – EngJon