Hỏi về userFunction trong excel (1 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

hsm.ksxd

Thành viên chính thức
Tham gia
24/8/17
Bài viết
77
Được thích
5
Giới tính
Nam
Các bác cho em hỏi là em có làm 1 userFunction Tach_NgayNT
Mã:
Function Tach_NgayNT(Rng As String, Optional TrueOrFalse As Boolean)
    If IsMissing(TrueOrFalse) Or TrueOrFalse = True Then
        If Rng <> "" Then
            Tach_NgayNT = "ngày " & Application.WorksheetFunction.Text(Day(Rng), "00") & " tháng " & Application.WorksheetFunction.Text(Month(Rng), "00") & " n" & ChrW(259) & "m " & Year(Rng)
        Else
            Tach_NgayNT = "ngày ......... tháng ........." & " n" & ChrW(259) & "m 201......"
        End If
    ElseIf TrueOrFalse = False Then
        If Rng <> "" Then
            Tach_NgayNT = "Ngày " & Application.WorksheetFunction.Text(Day(Rng), "00") & " tháng " & Application.WorksheetFunction.Text(Month(Rng), "00") & " n" & ChrW(259) & "m " & Year(Rng)
        Else
            Tach_NgayNT = "Ngày ......... tháng ........." & " n" & ChrW(259) & "m 201......"
        End If
    End If
End Function
Trong đó biến TrueOrFalse là tùy chọn (Optional)
Giả sử ô B2 là ngày 30/10/2015
Ô D2 có công thức =Tach_NgayNT(B2) (Bỏ qua biến TrueOrFalse). Nhưng kết quả trong ô D2 lại là Ngày 30 tháng 10 năm 2015. Khi em dùng hàm IsMissing(TrueOrFalse) để kiểm tra biến TrueOrFalse có được nhập vào hay không? Lẽ ra nó phải trả về ngày 30 tháng 10 năm 2015 chứ nhỉ?
Các bác giúp em với
 

File đính kèm

Cảm ơn bác. Ý em là nếu biến TrueOrFalse = True hoặc bỏ qua thì hàm trả về ngày tháng năm
Còn nếu biến TrueOrFalse = False thì hàm trả về Ngày tháng năm
Tại sao em dùng hàm IsMissing(TrueOrFalse) để kiểm tra biến TrueOrFalse bị bỏ qua thì lẽ ra phải trả về ngày tháng năm nhưng sao nó lại trả về Ngày tháng năm.
Mong bác chỉ giúp em sai chỗ nào ạ
 
Upvote 0
Upvote 0
optional BienSo as boolean=true. và bỏ cái ismissing đi.
ismissing chỉ áp dụng cho "va ri ăng"
 
Upvote 0
Web KT

Bài viết mới nhất

Back
Top Bottom