我有五个工作表,它们使用下面的代码存储在工作簿中。第一个工作表与代码完美配合。第二个电子表格可以在返回错误之前检查第一个项目。随后的第三个和第四个工作表立即返回错误。另一方面,第五个工作表返回错误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
程序在进入这行代码后终止:
ActiveSheet.OLEObjects("CheckBox" & i). _ Object.Value = True
答案 0 :(得分:0)
OLEObject 不的成员名为 value 。如果您尝试显示OLEObject,请使用可见而不是
ActiveSheet.OLEObjects("CheckBox" & i).Visible = True
在此处查看所有OLEObject成员: