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: ตัวเลขที่มากกว่าวันที่