使用VBA基于Cell值条件格式化行

时间:2013-06-06 15:06:16

标签: excel-vba formatting excel-2003 vba excel

我正在制作一个speadsheet,它接受每个人都在做的任务并对它们进行pioritises,我正在对行进行格式化,因为单词2003只允许你做三种格式而且我已经用它们了!我想像这样格式化行;

如果单元格C ##中的数字为1,则行调整为红色,如果它为2则变为橙色,如果为3则变为黄色,如果为4则变为浅绿色,如果为5,则变为深绿色。

此外,如果单元格F ##为“是”,则右边的颜色变为灰色并且书写被划掉。

最后,如果单元格D ##中的日期过期,那么整行写入将变为BOLD。

我知道它可以在excel 2010上轻松完成,但我们还没有在工作中进行升级。

可以帮忙吗?

感谢。

1 个答案:

答案 0 :(得分:0)

这是一个你可以详细说明的快速入门;

输入ALT + F11;将出现VBA编辑器,在左侧面板中找到您的工作表(如果面板不在那里键入CTRL + R)双击您的工作表,其模块将显示在右侧面板中

复制并粘贴以下代码:

Sub update_color_codes()


    Range("A1").Select
    Range(Selection, Selection.End(xlDown)).Select
    numrow = Selection.Rows.Count

    For r = 1 To numrow

    c = Cells(r, 3).Value

    Select Case c

           Case 1
           pickedcolor = RGB(0, 255, 0)
           Case 2
           pickedcolor = RGB(0, 125, 0)
           Case 3
           pickedcolor = RGB(255, 255, 0)
           Case 4
           pickedcolor = RGB(125, 125, 0)
           Case 5
           pickedcolor = RGB(255, 0, 0)


    End Select 'c


    With Range(Cells(r, 1), Cells(r, 6)).Interior
        .Pattern = xlSolid
        .Color = pickedcolor
    End With



    Next 'r = 1 To numrow



End Sub

要运行此宏,请键入ALT + F8,在列表中选择它,然后单击“运行”。

为了简化流程,创建如下键盘快捷键: 键入ALT + F8,在列表中选择它,然后单击选项,输入快捷键(我推荐不会影响默认快捷键的东西,如CTRL + SHIFT + U)

假设您的列表从A1开始并且有6列,根据需要更正;宏开始在行开始找到行数;

使用RGB值直到满意为止 探索VBA调整此代码以控制字体重量等。

希望得到帮助