如何使用从活动单元格到另一列的最后一个条目的范围(VBA)在空白列中添加字符(163)复选框

问题描述 投票:0回答:1

我正在尝试使用从活动单元格到另一列的最后一个条目的范围在空白列中使用字符键(163)添加复选框,但到目前为止,我只能在空列中使用此代码到无穷大:

Sub Add_Check_Box()

'fill range for demo
    If Range("A2") = "" Then
        With Range("A:A")
            .Value = Chr(163)
            .Font.Name = "Wingdings 2"
            .Font.Size = 40
        End With
        Exit Sub
    End If

'toggle the value in column B
    If Not Intersect(Range("A:A"), Target) Is Nothing Then
        With Target
            If .Value = Chr(163) Then .Value = Chr(82) Else .Value = Chr(163)
        End With
    End If
End Sub

我尝试使用以下语法:

 Range(Range("B2"), Range("B2").End(xlDown)).Select
Range("A2:J2", Range("A2:J2").End(xlDown))

代替:

With Range("A:A")
excel vba checkbox range
1个回答
0
投票

解决方案是复制 A 列,然后覆盖它以保持在其他列的最后一行数据的范围内。

  Sub Add_Check_Box()
Range("A:A").Copy
Range("B:B").Insert
' fill range
    
        With Range("A2", Range("A2").End(xlDown))
            .Value = Chr(163)
            .Font.Name = "Wingdings 2"
            .Font.Size = 56
        End With
        
        
    Range("A1").Select
    Selection.ClearContents
    ActiveCell.FormulaR1C1 = "CHECK IF DONE"

End Sub
© www.soinside.com 2019 - 2024. All rights reserved.