วิธีเปรียบเทียบวันที่ใน vba (พร้อมตัวอย่าง)


คุณสามารถใช้ไวยากรณ์พื้นฐานต่อไปนี้ใน VBA เพื่อเปรียบเทียบวันที่สองวัน:

 SubCompareDates ()
    Dim i As Integer

    For i = 2 To 5
        If CDate(Range(" A " & i)) < CDate(Range(" B " & i)) Then
            Result = " First Date is Earlier "
    Else
        If CDate(Range(" A " & i)) > CDate(Range(" B " & i)) Then
                Result = “ First Date is LaterElse
                Result = " Dates Are Equal "
            End If
        End If
        
    Range(" C " & i) = Result
    
    Next i
End Sub

ตัวอย่างนี้จะเปรียบเทียบวันที่ในเซลล์ที่เกี่ยวข้องในช่วง A2:A5 และ B2:B5 และส่งกลับผลลัพธ์ของการเปรียบเทียบวันที่ในช่วง C2:C5

หมายเหตุ : ฟังก์ชัน CDate จะแปลงค่าของเซลล์ที่กำหนดให้เป็นวันที่

ตัวอย่างต่อไปนี้แสดงวิธีใช้ไวยากรณ์นี้ในทางปฏิบัติ

ตัวอย่าง: เปรียบเทียบวันที่ใน VBA

สมมติว่าเรามีสองคอลัมน์ต่อไปนี้พร้อมวันที่ใน Excel:

สมมติว่าเราต้องการเปรียบเทียบวันที่ในแต่ละแถวที่ตรงกันและแสดงผลการเปรียบเทียบวันที่ในคอลัมน์ C

เราสามารถสร้างมาโครต่อไปนี้เพื่อทำสิ่งนี้:

 SubCompareDates ()
    Dim i As Integer

    For i = 2 To 5
        If CDate(Range(" A " & i)) < CDate(Range(" B " & i)) Then
            Result = " First Date is Earlier "
    Else
        If CDate(Range(" A " & i)) > CDate(Range(" B " & i)) Then
                Result = “ First Date is LaterElse
                Result = " Dates Are Equal "
            End If
        End If
        
    Range(" C " & i) = Result
    
    Next i
End Sub

เมื่อเราเรียกใช้แมโครนี้ เราได้รับผลลัพธ์ต่อไปนี้:

ขณะนี้ผลลัพธ์ของการเปรียบเทียบวันที่จะแสดงในคอลัมน์ C

แหล่งข้อมูลเพิ่มเติม

บทช่วยสอนต่อไปนี้จะอธิบายวิธีการทำงานทั่วไปอื่นๆ ใน VBA:

VBA: วิธีจัดเรียงแผ่นงานตามหลายคอลัมน์
VBA: วิธีนับจำนวนแถวในช่วง
VBA: วิธีกรองคอลัมน์

เพิ่มความคิดเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *