gpt4 book ai didi

excel - 如何更改代码以将一个复选框添加到 ActiveCell 而不是 ActiveSheet?

转载 作者:行者123 更新时间:2023-12-04 22:08:15 26 4
gpt4 key购买 nike

我编写了一个带有 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

非常感谢任何建议。

最佳答案

复选框(和其他控件)是工作表的一部分,而不是单元格。

虽然您可以“控制”一个单元格,但它仍然不是该单元格的一部分。

继续使用ActiveSheet并使用 ActiveCell 计算您的 MyTop, MyLeft, MyHeightMyWidth值(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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com