Hỏi cách tìm giá trị của 1 ô

Liên hệ QC

phanthinh1971

Thành viên mới
Tham gia
9/2/07
Bài viết
24
Được thích
1
Mình muốn hỏi công thức hoăc VBA để có thể xác định : Khi ô A = dãy con số thì B = 1 , A= TEXT thì B=2 , còn nếu A = ngày tháng thì B = 3 .
Ai biết chỉ giùm mình nhé .
Xin cảm ơn
 

File đính kèm

Mình muốn hỏi công thức hoăc VBA để có thể xác định : Khi ô A = dãy con số thì B = 1 , A= TEXT thì B=2 , còn nếu A = ngày tháng thì B = 3 .
Ai biết chỉ giùm mình nhé .
Xin cảm ơn

nếu A = ngày tháng
thì A là số mất rồi. Excel định dạng số thành dạng ngày tháng (đúng là ngày giờ) theo quy tắc: số 1 là ngày 1 - 1 - 1900, số tiếp là ngày tiếp.
Các trường hợp khác bạn có thể dùng ISNUMBER,..

 
VBA nha bạn
Mã:
Private Sub Worksheet_Change(ByVal Target As Range)


If Not Intersect(Target, [c3:c5]) Is Nothing Then
    If IsDate(Target) Then
        Target.Offset(, 1) = 3
            ElseIf IsNumeric(Target) Then
                Target.Offset(, 1) = 1
            Else
                Target.Offset(, 1) = 2
    End If
    
End If


End Sub
 
Mình muốn hỏi công thức hoăc VBA để có thể xác định : Khi ô A = dãy con số thì B = 1 , A= TEXT thì B=2 , còn nếu A = ngày tháng thì B = 3 .
Ai biết chỉ giùm mình nhé .
Xin cảm ơn
Dùng VBA tạo một hàm theo yêu cầu của đề bài thôi nhé
Mã:
Public Function Kieu(Cll As Range) As Integer
    Kieu = Switch(IsNumeric(Cll), 1, IsDate(Cll), 3, Application.WorksheetFunction.IsText(Cll), 2)
End Function
Thân
 

File đính kèm

Như bạn haonlh đã nói, thật khó phân biết giữa Number và Date, vì bản chất của Date cũng là Number
Mọi code và công thức có thể sai trong trường hợp 1 số bình thường vô tình "bị" định dạng thành ngày tháng và ngược lại
 
Web KT

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

Back
Top Bottom