在Excel VBA的计划任务
下面我们就来看看在Excel VBA的程序设置是按期绿色任务的背景颜色,并设置进度滞后的红色任务的背景颜色。
现状:
在Sheet1中,我们有三个任务(X,Y,Z)。 “1”表示任务已经完成。任务是按计划进行,如果“1”存在于每列直至并包括今天的日期。今天,它的6六月。任务X和Y是按计划进行。任务Z是落后于时间表(无细胞“1” E8)。
创建工作表更改事件。添加到工作表更改事件代码将被Excel VBA,当你在工作表上更改单元格执行。
1.打开Visual Basic编辑器。
2.双击工作表Sheet1(Sheet1中)在项目资源管理器。
3.从左边的下拉列表中选择工作表。从右侧的下拉列表中选择更改。
添加以下代码行的工作表更改事件:
4.声明Integer类型的两个变量。
Dim i As Integer, j As Integer
5.添加一个do while循环。
Do While Cells(6 + i, 1).Value <> "" i = i + 1 Loop
说明:对于i = 0时,Excel VBA检查任务X,对于i = 1,任务Y,等
Excel中VBA离开do while循环当细胞(6 + 1,1).value的是空的(没有更多的任务,以检查)。
添加以下代码行(在图6,7和8)到do while循环。
6.初始化值0的变量j
j = 0
7.设置任务的背景颜色为绿色假定任务正按计划(这是不一定当然是真的)。
Cells(6 + i, 1).Interior.ColorIndex = 4
8.添加另一个do while循环。
Do While Cells(4, 2 + j).Value <= Date If Cells(6 + i, 2 + j).Value = 0 Then Cells(6 + i, 1).Interior.ColorIndex = 3 j = j + 1 Loop
注:日期函数返回当天的日期。
说明:对于i = 0,J = 0时,Excel VBA检查细胞B6。对于i = 0,J = 1时,Excel VBA检查电池C6等任务正按计划进行,如果“1”存在于每列直至并包括今天的日期。如果Excel VBA发现一个“0”,它设置任务为红色的背景色。
9.测试程序。例如,表明在6月这个任务Z的已经完成。其结果是,任务ž将自动变成绿色。