Đánh số thứ tự theo Pivot (1 người xem)

Liên hệ QC

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

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

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

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

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

Back
Top Bottom