2

我遇到了“运行时错误'1004':应用程序定义或对象定义错误。我的if then语句无法识别正在比较的对象之一,请帮助我了解我做错了什么。

Sub Enter_deposits()

    Sheets("Deposits").Activate

    Dim x As Integer
    Dim y As Integer


    For x = 4 To 21
        For y = 10 To 500
            If Sheets("deposits").Range(2, 4).Value = Sheets((Cells(x, 14).Value)).Range(y, 2).Value _
                    And Sheets((Cells(x, 14).Value)).Range(y - 1, 3) = 0 _
                    And Sheets("deposits").Range(x, 15).Value <> Sheets((Cells(x, 14).Value)).Range(y, 3) Then

                Sheets("deposits").Range(x, 15).Copy
                Sheets((Cells(x, 14).Value)).Range(y, 3).PasteSpecial xlPasteValues

            Else

            End If
        Next y
    Next x
End Sub
4

1 回答 1

4

您需要了解范围对象和单元格对象如何在 VBA 中工作。例如,如果您想引用"D2"“存款”表中单元格中的值,您可以使用以下任一方法执行此操作:

Sheets("deposits").Range("D2").value

或者

Sheets("deposits").Cells(2,4).value

似乎您在代码中混淆了这两个对象的使用。

于 2013-11-04T15:09:29.800 回答