【问题标题】:Embeding Checkbox to a specific cells将复选框嵌入特定单元格
【发布时间】:2014-10-30 18:00:31
【问题描述】:

我目前正在使用 VBA,这对我来说是全新的。我正在尝试将我的复选框嵌入到特定的单元格中,以便每次隐藏单元格(行)时,复选框也会与单元格一起隐藏。

下面是我目前用来插入复选框的代码

ActiveSheet.CheckBoxes.Add(Cells(lRow, "A").Left, _
                            Cells(lRow, "A").Top, _
                            72, 17.25).Select
With Selection
    .Caption = ""
    .Value = xlOff
    .LinkedCell = "C" & i
    .Display3DShading = False

End With

谢谢。

【问题讨论】:

  • 您的问题是什么?你的代码有错误吗?请详细说明。
  • 代码不会出错。但每次我隐藏该行时,复选框都会保持取消隐藏。您仍然可以看到并勾选复选框。有没有办法将复选框嵌入到单元格中,以便它与单元格一起隐藏?
  • 您只是在寻找复选框的Cell Link 属性吗?
  • Matt:不……我不是指 Cell Link 属性。

标签: excel vba checkbox


【解决方案1】:

AFAIK,我不这么认为。
也没有已知的事件来捕获行的隐藏和取消隐藏(再次AFAIK)。
我能给出的最接近的是:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    On Error GoTo halt
    Application.EnableEvents = False
    Dim cb As CheckBox
    Set cb = Me.Shapes("Check Box 1").OLEFormat.Object
    cb.Top = Me.Range("cbrange").Top
    cb.Visible = IIf(Me.Range("cbrange").Height = 0, False, True)
forward:
    Application.EnableEvents = True
    Exit Sub
halt:
    MsgBox Err.Description
    Resume forward
End Sub

这不会自动隐藏 复选框,直到您选择另一个范围。
请注意,我们使用了一个命名范围,即包含您的 Checkbox 的范围。
这是为了确保即使您插入行,Checkbox 也会保留在该单元格中。 HTH 不知何故。

【讨论】:

    猜你喜欢
    • 2019-01-24
    • 2022-12-18
    • 2021-06-16
    • 2017-11-11
    • 2015-04-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多