2013-08-20 143 views
-1

在Excel中的另一行可以說我有在Excel表格如下: enter image description here參考使用VBA

我希望能夠選擇一個任務,然後從用戶的形式,我創建這樣的匹配單元將日期被着色。 我在任務列上使用For循環來查找並轉到所需的任務,但我無法找到如何遍歷每行並從上面爲每個單元格找到匹配的日期。

任何幫助,將不勝感激 謝謝。

+2

不應該有任何需要循環,您可以使用兩個application.match語句查找的行和列位置,然後只爲該單元格着色 – JosieP

回答

1

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