繁体   English   中英

Excel VBA:包含空白单元格的行中的最大日期

[英]Excel VBA: Max Date in the row including blank cells

Excel VBA:在包含空白单元格的行中查找最大日期的代码

Dim s As Date

s = WorksheetFunction.Max((If IsNotEmpty (CDate(Range("A" & x + 1).Value), CDate(Range("B" & x + 2).Value), CDate(Range("C" & x + 1).Value)))
MsgBox s

我有一个表,其中大约有8个列包含日期(例如开始日期,结束日期等)。 现在,对于每一行,某些列为空白。 我必须在每一行中找到最大日期。

在此处输入图片说明

您好,请参考下面的代码,从A1到AA1单元格包含空白单元格的日期

Sub maxdaterow()
Max_date = Application.WorksheetFunction.Max(Range("A1:AA1"))
MsgBox Max_date
End Sub

下面的代码在A列中查找最大日期,该日期还包含空白单元格

Sub maxdate()
Max_date = Application.WorksheetFunction.Max(Columns("A"))
MsgBox Max_date
End Sub

我建议你这样做:

sub tryme()

For i = 1 To 50
    Max_date = Application.WorksheetFunction.Max(Rows(i))
    if isempty(Max_date) = False then
    MsgBox cDate("The most recent date for row : " & i & "is : " & Max_date)
    end if
Next
end sub

i是你的行号; 您将必须设置行数,或使用.Count

您可以尝试:

Option Explicit

Sub test()

    Dim i As Long, y As Long
    Dim dDate As Date

    With ThisWorkbook.Sheets("Sheet1")

        'Loop rows 1-10
        For i = 1 To 10
            'Set a default date
            dDate = "1/1/1900"
            'Loop columns from 1-8
            For y = 1 To 8
                If .Cells(i, y).Value <> "" And .Cells(i, y).Value > dDate Then
                    dDate = .Cells(i, y).Value
                End If
            Next y

            Debug.Print "Max date for row " & i & " is date " & dDate

        Next i

    End With

End Sub

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM