查找范围内的日期

时间:2016-05-25 06:06:17

标签: excel-vba date find vba excel

我在A1:WW1这样的范围内有很多日期 我的意思是每个单元格都有一个日期。

我需要一个宏,只选择今天的其他日期之间的日期。

1 个答案:

答案 0 :(得分:0)

我认为你一直在填充数据。如果是这样,我们可以使用使用的Range来查找Last Row。 请尝试此代码。它将为具有当前数据的单元着色。我使用有限的范围进行测试,但我认为它也适用于更大的范围。

Sub Highlight()
    Dim Rng As Range
    Dim lastRow As Long, lngRow As Long
    Dim strColumn As Integer
    lastRow = ActiveSheet.UsedRange.Rows(ActiveSheet.UsedRange.Rows.Count).Row
    Dim lastColumn As Integer
    lastColumn = ActiveSheet.UsedRange.Columns(ActiveSheet.UsedRange.Columns.Count).Column
    For strColumn = 1 To lastColumn

        With ActiveSheet
            For lngRow = 2 To lastRow  ' Assuming Row 1 As a header Row
                If IsDate(.Cells(lngRow, strColumn).Value) And CDate(.Cells(lngRow, strColumn).Value) = Date Then
                .Cells(lngRow, strColumn).Interior.ColorIndex = 3
                End If
            Next lngRow
        End With
    Next
End Sub

Snapshot highlighting today's date