Đánh số thứ tự theo Pivot

Liên hệ QC

anpha_omega

Thành viên mới
Tham gia
14/3/10
Bài viết
29
Được thích
5
Em có danh sách kết quả thi của học sinh đã lọc theo Pivot. Cơ mà đến bước đánh số thứ tự (cột màu xanh) thì không biết dùng hàm gì để đánh tự động. Mỗi lần em lọc ra kết quả khác là phải đánh tay cột này lại từ đầu. Nhờ các bác giúp đỡ với ạ.
 

File đính kèm

  • Danh so pivot.xlsx
    16.3 KB · Đọc: 10
Em có danh sách kết quả thi của học sinh đã lọc theo Pivot. Cơ mà đến bước đánh số thứ tự (cột màu xanh) thì không biết dùng hàm gì để đánh tự động. Mỗi lần em lọc ra kết quả khác là phải đánh tay cột này lại từ đầu. Nhờ các bác giúp đỡ với ạ.
Phải bạn đánh STT từ 1,2,3,... chỉ là "Số thứ tự" không thôi thì mình còn ráng. Chứ bạn đánh STT xen kẽ các kiểu số La Mã I, II,... và kiểu chữ a,b,c,... nữa thì quả là căng luôn đấy ạ. :)
 
Phải bạn đánh STT từ 1,2,3,... chỉ là "Số thứ tự" không thôi thì mình còn ráng. Chứ bạn đánh STT xen kẽ các kiểu số La Mã I, II,... và kiểu chữ a,b,c,... nữa thì quả là căng luôn đấy ạ. :)
Dùng hàm Roman để đánh số la mã
 
Thủ tục đánh số:
PHP:
Sub STT3Level()
Dim Lama As Long, SeqNum As Long, AlphaNum As Long, GradeNum As Long
Dim Country As Range, LastRw As Long, Grade As String
Grade = "L" & ChrW(7899) & "p"
LastRw = Sheet1.[I1000].End(xlUp).Row
Application.ScreenUpdating = False
Sheet1.Range("H2:H10000").Clear
For i = 2 To LastRw
    Set Country = Sheet1.Range("N2:N6").Find(Cells(i, 9))
    If Not Country Is Nothing Then 'So La mã'
        AlphaNum = 96
        GradeNum = 0
        Lama = Lama + 1
        Cells(i, 8) = Application.Roman(Lama)
        Cells(i, 8).Font.Bold = True
    ElseIf Left(Cells(i, 9), 3) Like Grade Then 'So tang'
        AlphaNum = 96
        GradeNum = GradeNum + 1
        Cells(i, 8).Value = GradeNum
        Cells(i, 8).Font.Bold = True
        Cells(i, 8).Font.Italic = True
        Cells(i, 8).HorizontalAlignment = xlCenter
    Else 'abc'
        AlphaNum = AlphaNum + 1
        Cells(i, 8).Value = ChrW(AlphaNum)
        Cells(i, 8).HorizontalAlignment = xlRight
    End If
Next
Sheet1.Range("H2:J" & LastRw).Borders.LineStyle = 1
Application.ScreenUpdating = True
End Sub
Đưa vào sự kiện PivotTableUpdate
PHP:
Private Sub Worksheet_PivotTableUpdate(ByVal Target As PivotTable)
   STT3Level
End Sub

1601992770775.png
 

File đính kèm

  • Sequence3Level-Pivot.xlsm
    80.8 KB · Đọc: 12
Lần chỉnh sửa cuối:
@ptm0412 Khiếp, mặc dù em không hiểu VBA lắm nhưng thật bái phục bác. Theo bác món này thì có thể dùng hàm đơn thuần được không ạ?
 
Web KT
Back
Top Bottom