我正在尝试使用从活动单元格到另一列的最后一个条目的范围在空白列中使用字符键(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")
解决方案是复制 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