0

我正在制作一个电子表格,它接受每个人都在做的任务并将它们优先化,我很难将行格式化为 word 2003 只允许你做三种格式,我已经用完了它们!我想像这样格式化行;

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

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

最后,如果单元格 D## 中的日期已过期,则整个行的书写变为粗体。

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

awayone 可以帮忙吗?

谢谢。

4

1 回答 1

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,在列表中选择它并单击 OPTIONS,输入您的快捷键(我建议使用不会干扰默认快捷键的东西,例如 CTRL+SHIFT+U)

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

使用 RGB 值直到满意并探索 VBA 以调整此代码以控制字体粗细等。

希望有帮助

于 2013-06-06T21:30:23.190 回答