0
我希望VBA與單元格(y,x-3)比較單元格(y,x)。 x應該從第35列到第2列。但是,如果我將x定義爲'For x = 35到2 step -3,則vba將具有'應用程序定義或對象定義'錯誤。如果我將x定義爲'For x = 35 to 5,step -3',則代碼可以正常工作,但它會跳過第2列的計算。如何解決此問題?這是代碼。列中的循環定義導致應用程序定義或對象定義錯誤
Sub testing1()
Dim x As Integer
Dim y As Integer
For x = 35 To 5 Step -3
For y = 11 To 76 Step 1
If IsNumeric(Cells(y, x).Value) Then
If VBA.Abs(Cells(y, x).Value) < VBA.Abs(0.9 * Cells(y, x - 3).Value) Or _
VBA.Abs(Cells(y, x).Value) > VBA.Abs(1.1 * Cells(y, x - 3)) Then
Cells(y, x).Interior.ColorIndex = 22
ElseIf VBA.Abs(Cells(y, x).Value) < VBA.Abs(0.9 *
Workbooks("2014variance.xlsx").Worksheets("Sheet1").Cells(y, x)) Or _
VBA.Abs(Cells(y, x).Value) > VBA.Abs(1.1 *
Workbooks("2014variance.xlsx").Worksheets("Sheet1").Cells(y, x)) Then
Cells(y, x).Interior.ColorIndex = 42
End If
End If
Next y
Next x
End Sub
我同意你的意見。我希望Excel將2015.xlsx中的第2列與2014.xlsx中的第2列進行比較。我的目標是將2015年xlsx中的x與x-3進行比較,然後將2015年與2014年的x進行比較。其他列可以找到,但僅列2是一個麻煩。你知道如何修復代碼嗎? – cljsibyl123