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