如果勾选同一行上的复选框,则使用VB更改Excel中的行颜色

时间:2011-01-07 12:02:57

标签: excel vba checkbox

我有一个列出各种课程的Excel电子表格。我在每个课程的F栏都有复选框(不是每一行 - 都有一些空白)。勾选复选框后,我想在同一行上将单元格B的颜色改为E.

是否有办法在一种方法中执行此操作而不是复制每个复选框的代码?

任何帮助一如既往地感谢 - 谢谢!

2 个答案:

答案 0 :(得分:1)

复选框的想法很难实现。但是,如果您想要一种可点击的方式来设置该行中单元格的背景,您可以在课程标题上插入一个超链接。让超链接指向该行中的相邻单元格。因此,如果标题位于B3上,请将超链接指向C3:E3,例如。

在工作表的代码隐藏中实现Worksheet_FollowHyperlink事件。这是一个让您入门的示例子:

Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)
    Dim myRange As Range
    Set myRange = Range(Application.Selection.Address)
    myRange.Interior.Color = RGB(127, 256, 256)
End Sub

这适用于Excel 2007.在其他版本上未经测试。

答案 1 :(得分:0)

将相同的宏指定给所有复选框。您可能遇到的问题是试图找出复选框所在的行。控件实际上并不位于网格中。它们位于工作表的顶部,没有引用行。