我正在设计项目的人员配备时间表。员工每天被分配到不同的项目。出于计划目的,我们希望能够同时具有“每个项目的人员”视图和“每个人员的项目”视图。这导致我创建的数据集基本上由每天/职员组合组成的一个条目组成。大约有十几名员工和365天的时间,这是一个冗长的列表,需要手动修改。
现在,真实的内容是大约5000行,这使得更改任何内容成为一个大型CTRL + F聚会。 go宏以添加人员计划。
在另一张纸上,我为数据输入建立了一个简单的表格。 人们选择一名职员,输入项目名称,开始日期和结束日期。然后,应使用该宏查找与工作人员和所选日期范围匹配的行,并将数据集中的项目更改为输入所提供的任何内容。
到目前为止,我已经建立了数据集,并开始研究代码以找到正确的行。我认为首先编写一些代码将每个人的12月24日设置为“圣诞节”是最简单的。 为了使自己更轻松,我认为最好将其涂成红色。
但是,这已经给我一个错误1004:对象定义的错误。
Sub AddHoliday()
Dim i As Long
For i = 1 To Sheets("2019-2020").Rows.Count
Next i
If Sheets("2019-2020").Cells(i, 1).Value = "24-12-2019" Then
Sheets("2019-2020").Cells(i, 1).Font.Color = vbRed
End If
End Sub
我本来希望每个等于12月24日的日期都变成红色。 但是,我已经在IF语句的第一行收到了1004对象定义的错误。
答案 0 :(得分:1)
问题:
24-12-2019
被Excel识别为43823
使用:
Sub AddHoliday()
Dim i As Long
With Sheets("2019-2020")
For i = 1 To .Cells(.Rows.Count, "A").End(xlUp).row
If .Cells(i, 1).Value = 43823 Then ' 24-12-2019
.Cells(i, 1).Font.Color = vbRed
End If
Next i
End With
End Sub