Tình hình là em mới mò được cái này. Tạm thời viết sơ sơ, chưa biết sẽ gặp những lỗi gì.
Mục đích là như hình ảnh, khó diễn tả thành lời:
Hy vọng các bác lướt qua góp ý để em lại tiếp tục mò bổ sung.
File chưa bẫy lỗi vì trình độ không lường được sẽ gặp lỗi gì.
Mã:
Public Function NgayTuChuoi(CellNgay As Range) As String
Dim Regex As Object
Dim Ngay As Object
Set Regex = CreateObject("vbscript.regexp")
With Regex
.Global = True
.pattern = "\d{2,4}[\/-]\d{1,2}[\/-]\d{2,4}"
Set Ngay = Regex.Execute(CellNgay)
End With
NgayTuChuoi = Ngay(0)
End Function
Public Function NgayThat(CellNgay As Range, Optional Deli$ = "/", Optional TypeD$ = "dmy")
Dim arrNgay As Variant
Dim arrTypeD(3) As String
Dim Item As Variant
Dim NgayDangChuoi$
Dim Ngay%, Thang%, Nam%
arrTypeD(0) = Mid(TypeD, 1, 1)
arrTypeD(1) = Mid(TypeD, 2, 1)
arrTypeD(2) = Mid(TypeD, 3, 1)
NgayDangChuoi = NgayTuChuoi(CellNgay)
arrNgay = Split(NgayDangChuoi, Deli)
For Item = 0 To UBound(arrNgay)
Select Case arrTypeD(Item)
Case Is = "d"
Ngay = arrNgay(Item)
Case Is = "m"
Thang = arrNgay(Item)
Case Else
Nam = arrNgay(Item)
End Select
Next
NgayThat = DateSerial(Nam, Thang, Ngay)
End Function
Hy vọng các bác lướt qua góp ý để em lại tiếp tục mò bổ sung.
File chưa bẫy lỗi vì trình độ không lường được sẽ gặp lỗi gì.