วิธีเปรียบเทียบวันที่ใน 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 Later ”
Else
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 Later ”
Else
Result = " Dates Are Equal "
End If
End If
Range(" C " & i) = Result
Next i
End Sub
เมื่อเราเรียกใช้แมโครนี้ เราได้รับผลลัพธ์ต่อไปนี้:
ขณะนี้ผลลัพธ์ของการเปรียบเทียบวันที่จะแสดงในคอลัมน์ C
แหล่งข้อมูลเพิ่มเติม
บทช่วยสอนต่อไปนี้จะอธิบายวิธีการทำงานทั่วไปอื่นๆ ใน VBA:
VBA: วิธีจัดเรียงแผ่นงานตามหลายคอลัมน์
VBA: วิธีนับจำนวนแถวในช่วง
VBA: วิธีกรองคอลัมน์