Excel勾选复选框同时变色单元格

效果图:


gif好像不动

使用方法:选中需要添加复选框的单元格,之后运行宏命令。

原理:使用辅助列来存储复选框的状态(true/false),同时给单元格添加条件格式,辅助列为true时,当前单元格变为绿色。

进阶:
.Width / 2把复选框的宽度缩小了一半,不然会导致复选框挡住单元格导致无法选中单元格,可以自行修改宽度数值。
rng.Cells.Offset(0,5)表示了辅助列偏移5列,方便把辅助列放在靠右位置进行隐藏,可以更改括号内数字进行行、列的偏移。
.Color表示单元格变色的颜色,可以自行修改。

Application.ScreenUpdating = False
Dim rng As Range
For Each rng In Selection
    With rng
        With Sheet1.CheckBoxes.Add(.Left, .Top, .Width / 2, .Height) '.Select
            .Value = xlOff
            .Caption = ""
            .LinkedCell = rng.Cells.Offset(0, 5).Address
            xAddr = "=" & rng.Cells.Offset(0, 5).Address
            Application.CutCopyMode = False
            rng.FormatConditions.Add Type:=xlExpression, Formula1:=xAddr
            rng.FormatConditions(rng.FormatConditions.Count).SetFirstPriority
            With rng.FormatConditions(1).Interior
                .PatternColorIndex = xlAutomatic
                .Color = 5296274
                .TintAndShade = 0
            End With
            rng.FormatConditions(1).StopIfTrue = False
        End With
    End With
Next
Application.ScreenUpdating = True
End Sub```
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容