我编写了一个带有 if 语句的代码,如果满足某些条件,则可以将复选框添加到 ActiveSheet 中的某些单元格。我下面的代码显示了该代码。
'To add checkboxes
Dim ToRow As Long
Dim LastRowCB As Long
Dim MyLeft As Double
Dim MyTop As Double
Dim MyHeight As Double
Dim MyWidth As Double
LastRowCB = Range("B1000").End(xlUp).Row
For ToRow = 11 To LastRowCB
If Not IsEmpty(Cells(ToRow, "B")) Then
'-
MyLeft = Cells(ToRow, "A").Left
MyTop = Cells(ToRow, "A").Top
MyHeight = Cells(ToRow, "A").Height
MyWidth = MyHeight = Cells(ToRow, "A").Width
'-
ActiveSheet.CheckBoxes.Add(MyLeft, MyTop, MyWidth, MyHeight).Select
With Selection
.Caption = ""
.Value = xlOff
.LinkedCell = "R" & ToRow
.Display3DShading = False
End With
End If
Next
我现在正在尝试更改此代码,但收效甚微,将完全相同类型的复选框添加到我已激活的一个单元格中。就像我说的我已经激活了单元格,我只需要更改代码以使其仅执行 ActiveCell 而不是 ActiveSheet。以下是我更改代码的尝试。我排除了 If 语句,因为我的想法是因为我激活了单元格,所以我不需要所有这些。
ActiveCell.CheckBoxes.Add(MyLeft, MyTop, MyWidth, MyHeight).Select
With Selection
.Caption = ""
.Value = xlOff
.LinkedCell = "R" & ToRow
.Display3DShading = False
End With
当我尝试运行此代码时,我在下一行得到一个调试。
ActiveCell.CheckBoxes.Add(MyLeft, MyTop, MyWidth, MyHeight).Select
非常感谢任何建议。