作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我编写了一个带有 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.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
最佳答案
复选框(和其他控件)是工作表的一部分,而不是单元格。
虽然您可以“控制”一个单元格,但它仍然不是该单元格的一部分。
继续使用ActiveSheet
并使用 ActiveCell 计算您的 MyTop, MyLeft, MyHeight
和 MyWidth
值(value)观。
MyLeft = ActiveCell.Left
MyTop = ActiveCell.Top
MyHeight = ActiveCell.Height
MyWidth = ActiveCell.Width
ActiveSheet.Checkboxes.Add(MyLeft, MyTop, MyWidth, MyHeight).Select
With Selection
.Caption = ""
.Value = xlOff
.LinkedCell = ActiveCell.Address
.Display3DShading = False
End With
ActiveCell.Address
!
linked
明确地添加到 R 列中的单元格,那么您需要自己制作
.LinkedCell = "R" & ActiveCell.Row
否则
ActiveCell.Address
将链接到您添加复选框的单元格。
关于excel - 如何更改代码以将一个复选框添加到 ActiveCell 而不是 ActiveSheet?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15910296/
我是一名优秀的程序员,十分优秀!