Code đánh số thứ tự các 1/2, 2/2 ...

Liên hệ QC

anhdung718

Thành viên mới
Tham gia
4/5/10
Bài viết
9
Được thích
0
Chào các bạn, mình có 1 file excel như đính kèm, trong đó cột Q'Ty mình muốn tách thành dữ liệu và đánh số thứ tự 1/2, 2/2 hay 1/3 để tiện quản lý. Vậy có cách nào đánh số tự động không các bạn ?
 

File đính kèm

  • CTLC & TXKT- TỔNG.xlsx
    93.7 KB · Đọc: 13
Chào các bạn, mình có 1 file excel như đính kèm, trong đó cột Q'Ty mình muốn tách thành dữ liệu và đánh số thứ tự 1/2, 2/2 hay 1/3 để tiện quản lý. Vậy có cách nào đánh số tự động không các bạn ?
Nếu dùng công thức:
Mã:
=COUNTIF($F$4:$F4,$F4)&"/"&COUNTIF($F$4:$F$8,$F4)
 

File đính kèm

  • CTLC & TXKT- TỔNG.xlsx
    100.1 KB · Đọc: 12
Chào các bạn, mình có 1 file excel như đính kèm, trong đó cột Q'Ty mình muốn tách thành dữ liệu và đánh số thứ tự 1/2, 2/2 hay 1/3 để tiện quản lý. Vậy có cách nào đánh số tự động không các bạn ?
- Bạn đăng bài trong mục Lập trình với Excel.
- Nhìn file của bạn, dữ liệu bạn hỏi chắc không áp dụng được vào "ý muốn thật" của bạn.
Với 2 ý trên, tôi làm "thí thí" bằng VBA cho file này chỉ để tham khảo.
 

File đính kèm

  • CTLC_Gpe.rar
    35.1 KB · Đọc: 11
Xem file nhé bạn.
 

File đính kèm

  • CTLC & TXKT- TỔNG.xlsx
    101 KB · Đọc: 11
Trễ chuyến rồi:
PHP:
Sub GhiSoThuTuCacTrang()
Dim Sh As Worksheet, Rng As Range, sRng As Range
Dim Col As Integer, W As Integer, Rws As Long, Max_ As Integer, Min_ As Integer, J As Long, Dm As Integer
Dim MyAdd As String

For Each Sh In ThisWorkbook.Worksheets
    If IsNumeric(Right(Sh.Name, 1)) Then
        Col = CInt(Right(Sh.Name, 1))
        Rws = Sh.Cells(65500, Col).End(xlUp).Row
        ReDim Arr(1 To Rws, 1 To 1) As String
        Set Rng = Sh.Cells(2, Col).Resize(Rws)
        Max_ = Application.WorksheetFunction.Max(Rng)
        Min_ = Application.WorksheetFunction.Min(Rng)
        For J = Min_ To Max_
            Set sRng = Rng.Find(J, , xlFormulas, xlWhole)
'           Dm = 0
            If Not sRng Is Nothing Then
                MyAdd = sRng.Address
                Do
                    Dm = Dm + 1:                                W = W + 1
                    Arr(sRng.Row - 2, 1) = CStr(Dm) & "/" & sRng.Value
                    Set sRng = Rng.FindNext(sRng)
                Loop While Not sRng Is Nothing And sRng.Address <> MyAdd
            End If
            Dm = 0
        Next J
    End If
    If W Then
        Sh.Cells(3, "K").Resize(W).Value = Arr():           W = 0
    End If
Next Sh
End Sub

Lưu ý: Các tên trang tính cần xử lý số liệu cần thêm 1 kí số là thứ tự cột mà macro cần xử lý; Ví dụ 'TXKT4"
 
Web KT
Back
Top Bottom