Excel VBA - 检查单元格是否包含复选框

标签 excel vba

我正在使用以下脚本将复选框添加到一系列单元格。我想通过检查单元格是否已经包含一个复选框来增强这一点,如果它包含,那么不要在单元格中添加一个新的复选框,即如果它还没有包含一个复选框,则只在该范围内的单元格中添加一个复选框.

    LRow = ActiveSheet.Range("D" & Rows.Count).End(xlUp).Row

For cell = 10 To LRow
        CLeft = Cells(cell, "R").Left
        CTop = Cells(cell, "R").Top
        CHeight = Cells(cell, "R").Height
        CWidth = Cells(cell, "R").Width
        ActiveSheet.CheckBoxes.Add(CLeft, CTop, CWidth, CHeight).Select
        With Selection
            .Caption = ""
            .Value = xlOff
            .Display3DShading = False
        End With
Next cell

最佳答案

使用此函数检查范围是否包含复选框:

Public Function HasCheckbox(rng As Range) As Boolean
    For Each CB In ActiveSheet.CheckBoxes
        If Not Application.Intersect(rng, CB.TopLeftCell) Is Nothing Then
            HasCheckbox = True
            Exit Function
        End If
    Next CB
    HasCheckbox = False
End Function

关于Excel VBA - 检查单元格是否包含复选框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35921758/

相关文章:

excel - 使用 MSBuild 更改 .xla 文件

c# - 使用c#提取excel中嵌入的 ‘pdf’文件并将其保存到文件夹中

python - 在python中将文本转换为数字

excel - vba 插入验证列表 - 工作表锁定时出现错误 1004?

vba - 范围 ("").值 = "Percentage%"错误

excel - Microsoft Excel 连接 #VALUE!错误

excel vba转置和重复标题

vb.net - 如何将整数转换为 4 位十六进制字符串?

vba - Excel VBA抓取Web数据,将输入输入AJAX自动完成不会触发列表

excel - VBA过滤掉小于30的日期