VBA上的错误1004

VBA上的错误1004,vba,excel,Vba,Excel,我有五个工作表,它们都使用了存储在工作簿中的以下代码。第一个工作表与代码配合得非常好。第二个电子表格可以在返回错误之前检查第一项。随后的第三个和第四个工作表立即返回错误。另一方面,第五张工作表返回错误400。我可以知道我的代码是问题的根源还是复选框,因为我是从第一张工作表复制和粘贴的 Sub test5() Dim MyFile As String Dim FinalRow As Long Dim Row As Long Dim i As Integer

我有五个工作表,它们都使用了存储在工作簿中的以下代码。第一个工作表与代码配合得非常好。第二个电子表格可以在返回错误之前检查第一项。随后的第三个和第四个工作表立即返回错误。另一方面,第五张工作表返回错误400。我可以知道我的代码是问题的根源还是复选框,因为我是从第一张工作表复制和粘贴的

Sub test5()
    Dim MyFile As String
    Dim FinalRow As Long
    Dim Row As Long
    Dim i As Integer
    Dim d As Integer
    d = 2
    i = 0
    FinalRow = Cells(Rows.count, "S").End(xlUp).Row
    For Row = 3 To FinalRow
         If Not IsEmpty(ActiveSheet.Cells(Row, "S")) Then
                i = i + 1
                d = d + 1
                MyFile = ActiveSheet.Cells(Row, "S").Value
                If Dir(MyFile) <> "" Then
                    ActiveSheet.OLEObjects("CheckBox" & i). _
                        Object.Value = True ' <~~~~~~~~~~~~~~~~ Error occurs here
                    With ActiveSheet.Cells(d, "F")
                        .Value = Now
                        .NumberFormat = "dd/mm/yy"
                        'If (ActiveSheet.Cells(d, "F") - ActiveSheet.Cells(d, "G") >= 0) Then
                        '    ActiveSheet.Cells(d, "F").Font.Color = vbRed
                        'End If
                        If (.Value - .Offset(0, 1).Value) >= 0 Then
                            .Font.Color = vbRed
                        Else
                            .Font.Color = vbBlack
                        End If
                    End With
                   ' i = i + 1
                    'd = d + 1
                End If
         End If
    Next
End Sub
OLEObject没有名为value的成员。如果试图显示对象,请改用“可见”


ActiveSheet.OLEObjectsCheckBox&i.Visible=True

请参见此处的所有OLEObject成员:


你在哪一行得到这些错误?尝试在调试模式下单步执行代码,并观察变量是如何演变的。如果这没有帮助,那么我建议您查看以下指南:.ActiveSheet.OLEObjectsCheckBox&I.\Object.Value=true请将问题澄清放在问题本身中,而不是放在评论中。单击编辑链接可以编辑您的问题。
ActiveSheet.OLEObjects("CheckBox" & i). _ Object.Value = True