這是因爲這不是寫這段代碼的有效方法,或者它只是在像這樣的excel上工作很慢?我在Windows 8 64位上使用Excel 2007。我的辦公室筆記本是一個非常新的,最新的I5 CPU。下面是代碼:爲什麼我的循環太慢?
Private Sub CommandButton1_Click()
Sheets("data").Select
For rcounter = 2 To 45752
For xcounter = 26 To 50
For ycounter = 2 To 414
If (Cells(1, xcounter) = Cells(rcounter, 4)) Then
If (CInt(Cells(ycounter, 25)) = CInt(Cells(rcounter, 10))) Then
Cells(ycounter, xcounter).Value = Cells(ycounter, xcounter).Value + 1
End If
End If
Next ycounter
Next xcounter
Next rcounter
End Sub
基本上在同一張表中,列A和列B有45,751條記錄(對於rcounter = 2到45752)。列A具有這些可能的值(對於xcounter = 26到50)並且列B具有這些可能的值(對於ycounter = 2到414),則這個x軸xcounter和y asix ycounter表,用這一行一行一行地搜索I每當它出現時都需要加1。 – Teemo