作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试编写一个自动将复选框链接到适当行的 vba。我写了以下
Sub LinkChecklist()
Dim chk As CheckBox
For Each chk In ActiveSheet.CheckBoxes
chk.LinkedCell = chk.TopLeftCell.Offset(0, 1).Address
Next
End Sub
但是,当我运行代码时,从第 2 行 col F 开始的第一个复选框,当它应该链接到第 2 行时,链接到第 1 col G 行。这使得它下面的一些复选框也链接到错误的单元格.有关如何解决该问题的任何提示?
最佳答案
如果您想使用复选框,那么最好使用代码来添加它们并设置属性。
例如:
'add checkboxes and link cell one column over
Sub SetUpChecks()
Dim c As Range, cb
For Each c In Selection.Cells
Set cb = Selection.Worksheet.CheckBoxes.Add(c.Left + 1, c.Top + 1, 10, 10)
cb.Placement = xlMove 'move with cell
cb.Caption = "" 'no caption
cb.LinkedCell = c.Offset(0, 1).Address 'linked cell
Next c
End Sub
您还可以编写一些代码(例如由工作表激活事件触发),通过检查
LinkedCell
来遍历任何现有的复选框并确保它们的位置正确。属性和重新定位,如果需要。
Sub RepositionCheckboxes()
Dim cb, c As Range, ws As Worksheet
Set ws = ActiveSheet
For Each cb In ws.CheckBoxes
If cb.LinkedCell <> "" Then
Set c = ws.Range(cb.LinkedCell).Offset(0, -1) 'one cell to the left of the linked cell
cb.Top = c.Top + 1
cb.Left = c.Left + 1
End If
Next cb
End Sub
关于excel - 如何将我的第一个复选框与相应的行链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72004045/
我是一名优秀的程序员,十分优秀!