Tôi mới bắt đầu học VBA ba tuần trước, vì vậy hãy tự do phê bình mã của tôi.VBA - Tuyên bố IIF với CDate (biến thể)
Tôi muốn sử dụng IIF
tuyên bố để làm những gì ở bên trong lệnh If:
Dim rng_ModPlanStart as range
Dim QueryDate as Variant
Set rng_ModPlanStart = ThisWorkbook.ActiveSheet.Range("AH2:AH" & LastCell)
rng_ModPlanStart(1).Offset(-1, 0).Value = "Module Planned Start"
For Each cl In rng_ModPlanStart
QueryDate = Application.VLookup(ActiveSheet.Range("E" & cl.Row), Sheets("Chamber Schedule").Range("B:U"), 20, False)
If Not ((IsError(QueryDate))) Then
cl.Value = DateDiff("d", CDate(QueryDate), Date)
End If
Next cl
Nhưng tôi nhận được một lỗi khi cố gắng sử dụng IIF như
IIF(IsError(QueryDate), "", DateDiff("d", CDate(QueryDate), Date))
vì VBA nghĩ QueryDate không phải là một ngày ... mà nó phải là do chức năng CDate phải không? Tôi đang thiếu gì?
Biến thể có thể là mọi thứ. Bạn đã bao giờ kiểm tra nội dung của nó chưa? – RuDevel