【发布时间】:2016-09-18 12:41:49
【问题描述】:
我有大约 50 个复选框,它们都链接到它们所在的单元格(例如,A2 中的复选框链接到单元格 A2)。我的循环在一定程度上起作用。 我遇到的问题是选中链接的单元格并偏移 1 个单元格,然后复制该行而忽略链接的单元格。 然后粘贴到不同的工作表到下一个空白行。
Sub CheckboxLoop()
Dim objx As OLEObject
Dim lastrow As Range
Application.ScreenUpdating = False
'Loop through Checkboxes
With ActiveSheet
For Each objx In .OLEObjects
If TypeName(objx.Object) = "CheckBox" Then
If objx.Object.Value = True Then
If objx.Object.LinkedCell = True Then 'runtime error 438 object doesn't support this property or method
objx.Object.LinkedCell.Offset(0, 1).Select
Range(Cells(Selection.Row, 1), Cells(Selection.Row, 3)).Select
Selection.Copy
Worksheet("Data").Select
Worksheet("Data").Range("A1").End(xlDown).Offset(1, 0).Select
Selection.PasteSpecial (xlPasteValues)
Application.CutCopyMode = False
End If
ElseIf objx.Object.Value = False Then
ElseIf IsNull(objx.Object.Value) Then
End If
End If
Next
End With
Application.ScreenUpdating = True
End Sub
当我单步执行宏时一切都很好,直到我到达第三个如果并且我收到运行时错误 438 对象不支持此属性或方法
任何帮助都会非常感谢
【问题讨论】:
标签: excel vba checkbox activex