假设我在 Excel 中有下表:
我希望能够从我创建的用户表单中选择一个任务和一个日期,这样匹配的单元格就会被着色。我在任务列上使用 For 循环来查找并转到所需的任务,但我不知道如何遍历每一行并从上面为每个单元格查找匹配日期。
任何帮助将不胜感激,谢谢。
下面Sub
将为您做到这一点(基本上实现@JosieP的评论):
Sub ColorCell(strTask As String, datDate As Date)
Dim lRow As Long, lCol As Long
On Error GoTo errhandler
With WorksheetFunction
lRow = .Match(strTask, Range("C4:C10"), 0)
lCol = .Match(CLng(datDate), Range("D2:N2"), 0)
End With
Sheet1.Range("C2").Offset(1 + lRow, lCol).Interior.Color = vbYellow
Exit Sub
errhandler:
MsgBox "Date or Task out of range. Try again", vbOKOnly
End Sub