Vba: วิธีใช้ isdate เพื่อตรวจสอบว่าเซลล์เป็นวันที่หรือไม่


คุณสามารถใช้ฟังก์ชัน IsDate ใน VBA เพื่อตรวจสอบว่าเซลล์ที่ระบุเป็นวันที่หรือไม่

ฟังก์ชันนี้จะส่งกลับ ค่า True หากค่าในเซลล์ที่ระบุถือเป็นวันที่

มิฉะนั้นฟังก์ชันจะส่งกลับ False

นี่เป็นวิธีทั่วไปในการใช้ฟังก์ชันนี้ในทางปฏิบัติ:

 SubCheckDate ()
    
Dim i As Integer

For i = 1 To 9
    
    If IsDate(Range(" A " & i)) = True Then
        Range(" B " & i) = " Is a Date "
    Else
        Range(" B " & i) = " Is Not a Date "
    End If
Next i
    
End Sub

มาโครนี้จะตรวจสอบว่าแต่ละเซลล์ในช่วง A1:A9 เป็นวันที่หรือไม่

หากเซลล์เป็นวันที่ “เป็นวันที่” จะถูกส่งกลับในเซลล์ที่เกี่ยวข้องในช่วง B1:B9

หากเซลล์ไม่ใช่วันที่ ระบบจะส่งคืน “ไม่ใช่วันที่” แทน

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

ตัวอย่าง: วิธีใช้ IsDate ใน VBA

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

สมมติว่าเราต้องการตรวจสอบว่าแต่ละเซลล์ในคอลัมน์ A เป็นวันที่หรือไม่

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

 SubCheckDate ()
    
Dim i As Integer

For i = 1 To 9
    
    If IsDate(Range(" A " & i)) = True Then
        Range(" B " & i) = " Is a Date "
    Else
        Range(" B " & i) = " Is Not a Date "
    End If
Next i
    
End Sub

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

คอลัมน์ B บอกเราว่าแต่ละเซลล์ที่ตรงกันในคอลัมน์ A ได้รับการยอมรับว่าเป็นวันที่หรือไม่

โปรดทราบว่าเราเลือกที่จะส่งคืน “เป็นวันที่” หรือ “ไม่ใช่วันที่” แต่คุณสามารถส่งคืนสิ่งที่คุณต้องการได้โดยใช้คำสั่ง If Else

หมายเหตุ : คุณสามารถดูเอกสารฉบับเต็มสำหรับฟังก์ชัน VBA IsDate ได้ที่นี่

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

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

VBA: วิธีรับชื่อเดือนจากวันที่
VBA: วิธีใช้ฟังก์ชัน DateValue
VBA: ตัวเลขที่มากกว่าวันที่

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

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