activex 复选框循环 - 选择链接的单元格偏移量然后复制行
activex checkbox loop- selects linked cell offset then copies row
我有大约 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
当我单步执行宏时一切正常,直到我到达第 3 个如果我收到运行时错误 438 对象不支持此 属性 或方法
任何帮助都非常感谢
LinkedCell
属性 是 String
类型,stores/retrieves 链接到组合框的单元格地址
所以你想使用
If objx.LinkedCell <>"" Then
.Range(objx.LinkedCell).Offset(0, 1).Select
'... rest of your code
End If
我有大约 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
当我单步执行宏时一切正常,直到我到达第 3 个如果我收到运行时错误 438 对象不支持此 属性 或方法
任何帮助都非常感谢
LinkedCell
属性 是 String
类型,stores/retrieves 链接到组合框的单元格地址
所以你想使用
If objx.LinkedCell <>"" Then
.Range(objx.LinkedCell).Offset(0, 1).Select
'... rest of your code
End If