Public M_Sum(23, 2) As String
Public Mid_Sum(2) As String
'定義各類型產品的不良項目數
Public Const N_SLD = 30
問題可能就在這裏!N_Sum(23, 2)、M_Sum(23, 2)的下標是23,2,但是妳在循環:
For i = 1 To N_SLD
If Sheets(H).Cells(91 + i, 48) <> "0" Then
J = J + 1
N_Sum(J, 1) = Sheets(H).Cells(91 + i, 3)
N_Sum(J, 2) = Sheets(H).Cells(91 + i, 48)
End If
Next i
中是到N_SLD,而N_SLD的值是30,況且還有J=J+1,這樣J的值是2、4、7、11、16、22變化,因此循環到i=7下標就越界了。