Đánh số thứ tự theo ngày tháng và theo từng group.

Liên hệ QC

vhtuyen

Thành viên mới
Tham gia
10/3/07
Bài viết
19
Được thích
1
Mình có 1 nhóm công tác, được chia theo từng mục, và muốn đánh số thứ tự tự động theo ngày tháng của cột D, kết quả là cột E như trong file đính kèm.
Mình Nhờ các bạn giúp đỡ và xin cám ơn.
 

File đính kèm

  • STT.xlsx
    10.9 KB · Đọc: 15
Mình có 1 nhóm công tác, được chia theo từng mục, và muốn đánh số thứ tự tự động theo ngày tháng của cột D, kết quả là cột E như trong file đính kèm.
Mình Nhờ các bạn giúp đỡ và xin cám ơn.
Bạn tham khảo...
 

File đính kèm

  • STT.xlsx
    11 KB · Đọc: 20
Upvote 0
Bạn trãi nghiệm với macro này xem sao:
PHP:
Sub DanhSTTTheoCongTac()
 Dim fDat As Date, lDat As Date, W As Integer, SoNgay As Integer, J As Long, STT As Integer
 Dim WF As Object, Rng As Range, Rg0 As Range, sRng As Range, Cls As Range
 Dim CgV As String, MyAdd As String
 
 Set Rng = Range([C3], [C9999].End(xlUp))
 Set WF = Application.WorksheetFunction
 For W = 1 To 3
    CgV = Switch(W = 1, "TN", W = 2, "HRAO", W = 3, "NQL")
    Set sRng = Rng.Find(CgV, , xlFormulas, xlWhole)
    If Not sRng Is Nothing Then
        MyAdd = sRng.Address
        Do
            If sRng.Offset(, 1).Value <> "" Then
                If Rg0 Is Nothing Then
                    Set Rg0 = sRng.Offset(, 1)
                Else
                    Set Rg0 = Union(Rg0, sRng.Offset(, 1))
                End If
            End If
            Set sRng = Rng.FindNext(sRng)
        Loop While Not sRng Is Nothing And sRng.Address <> MyAdd
        fDat = WF.Min(Rg0):                 lDat = WF.Max(Rg0)
        SoNgay = lDat - fDat + 1:           STT = 0
        For J = 0 To SoNgay
            For Each Cls In Rg0
                If Format(Cls.Value, "MM/DD/yyyy") = Format(J + fDat, "mm/dd/yyyy") Then
                    STT = STT + 1
                    Cls.Offset(, 2).Value = CgV & Right("0" & CStr(STT), 2)
                End If
            Next Cls
        Next J
        Set Rg0 = Nothing
    End If
 Next W
End Sub
 
Upvote 0
Mã:
Sub GPE()
' . . . . . . . '

For W = 1 To 35
    CgV = Switch(W = 1, "TN", W = 2, "HRAO", W = 3, "NQL", W = 4, "GPE4", W = 5, "GPE5", W = 6, "GPE6" _
    , W = 7, "GPE7", , W = 14, "GPE14", W = 15, "GPE15", W = 16, "GPE16", W = 24, "GPE24", W = 25, "GPE25", W = 26, "GPE26")
    ' . . . . . . . '
 Next W
End Sub

:D $$$$@ :D
 
Upvote 0
Web KT

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

Back
Top Bottom