Sắp sếp các sheet theo thứ tự tăng dần theo lý trình cống

Liên hệ QC

simmung

Thành viên mới
Tham gia
16/3/17
Bài viết
13
Được thích
0
Em chào anh chị. Cho em hỏi chút em có file excel các cống các sheet được đặt tên theo lý trình từ km5-km10. hiện tại các sheet này chưa sắp sếp theo thứ tự tăng dần có cách nào dùng hàm hoạc VBA để sắp sếp các sheet theo thứ tự tăng dần không ạ. Em cảm ơn ạ. Dưới đây là tệp của nó
 

File đính kèm

  • THKL CONG VUONG LAP GHEP.xlsx
    3.9 MB · Đọc: 10

Hoàng Tuấn 868

Đăng ký hôm qua
Tham gia
9/11/19
Bài viết
3,392
Được thích
2,918
Em chào anh chị. Cho em hỏi chút em có file excel các cống các sheet được đặt tên theo lý trình từ km5-km10. hiện tại các sheet này chưa sắp sếp theo thứ tự tăng dần có cách nào dùng hàm hoạc VBA để sắp sếp các sheet theo thứ tự tăng dần không ạ. Em cảm ơn ạ. Dưới đây là tệp của nó
Thử tham khảo tại đây.
 
Upvote 0

Maika8008

Thành viên gạo cội
Tham gia
12/6/20
Bài viết
3,559
Được thích
3,940
Donate (Momo)
Donate
Giới tính
Nam
....... ... .... ....
...
 
Lần chỉnh sửa cuối:
Upvote 0

namvu230397

Thành viên mới
Tham gia
12/10/21
Bài viết
49
Được thích
18
Thà lúc đầu bạn chỉnh chu một tí, bóc cái nào xếp đúng lý trình thì giờ có phải đỡ nhọc không.
 
Upvote 0

Maika8008

Thành viên gạo cội
Tham gia
12/6/20
Bài viết
3,559
Được thích
3,940
Donate (Momo)
Donate
Giới tính
Nam
Em chào anh chị. Cho em hỏi chút em có file excel các cống các sheet được đặt tên theo lý trình từ km5-km10. hiện tại các sheet này chưa sắp sếp theo thứ tự tăng dần có cách nào dùng hàm hoạc VBA để sắp sếp các sheet theo thứ tự tăng dần không ạ. Em cảm ơn ạ. Dưới đây là tệp của nó
Bạn xem sắp xếp thế này có đúng ý chưa.
 

File đính kèm

  • SapXepSheetTHKL CONG VUONG LAP GHEP_simmung.rar
    1.7 MB · Đọc: 14
Upvote 0

simmung

Thành viên mới
Tham gia
16/3/17
Bài viết
13
Được thích
0
Trời hỡi. Có mười mấy cái sheets cũng lười sắp xếp.Co

Trời hỡi. Có mười mấy cái sheets cũng lười sắp xếp.
file này là em xóa bớt sheet cho nhẹ file em úp lên. file đầy đủ của nó tới 50 sheet anh ạ. Làm thủ công mất thời gian lắm anh ạ
Bài đã được tự động gộp:

Thà lúc đầu bạn chỉnh chu một tí, bóc cái nào xếp đúng lý trình thì giờ có phải đỡ nhọc không.
ít sheet thì được anh. file nó 50 sheet . nhiều người làm khác nhau sau đó mình tổng hợp nó không theo một thứ tự nên mình phải sắp sếp theo lại theo thứ tự tăng dần
Bài đã được tự động gộp:

Bạn xem sắp xếp thế này có đúng ý chưa.
em kiểm tra rồi anh nó vẫn chưa sếp theo lý trình tăng dần ạ.
 
Upvote 0

namvu230397

Thành viên mới
Tham gia
12/10/21
Bài viết
49
Được thích
18
Nhưng mà thực ra tự động cũng chỉ làm nhanh hơn trong bước tổng hợp khối lượng cuối cùng. Cái chuyện sắp xếp lý trình kia mình có thể làm ngay từ bước bóc khối lượng. Em cũng thường xuyên bóc và tổng hợp khối lượng cống đều làm như vậy cả. Giả sử thêm cống vào giữa 2 lý trình thì mình lại copy sheet ra thôi
 
Upvote 0

namvu230397

Thành viên mới
Tham gia
12/10/21
Bài viết
49
Được thích
18
file này là em xóa bớt sheet cho nhẹ file em úp lên. file đầy đủ của nó tới 50 sheet anh ạ. Làm thủ công mất thời gian lắm anh ạ
Bài đã được tự động gộp:


ít sheet thì được anh. file nó 50 sheet . nhiều người làm khác nhau sau đó mình tổng hợp nó không theo một thứ tự nên mình phải sắp sếp theo lại theo thứ tự tăng dần
Bài đã được tự động gộp:


em kiểm tra rồi anh nó vẫn chưa sếp theo lý trình tăng dần ạ.
Có 5km đường mà lắm cống vậy tận 50 cái. 250m 1 cái thôi, ngoài ra bố trí cống ở khe tụ thủy nữa. Tôi hay làm đường miền núi nhiều lắm cũng chưa đến mức đấy. Bác hỏi lại bên thiết kế xem
 
Upvote 0

simmung

Thành viên mới
Tham gia
16/3/17
Bài viết
13
Được thích
0
Nhưng mà thực ra tự động cũng chỉ làm nhanh hơn trong bước tổng hợp khối lượng cuối cùng. Cái chuyện sắp xếp lý trình kia mình có thể làm ngay từ bước bóc khối lượng. Em cũng thường xuyên bóc và tổng hợp khối lượng cống đều làm như vậy cả. Giả sử thêm cống vào giữa 2 lý trình thì mình lại copy sheet ra thôi
đúng rồi anh, lúc mình thẩm tra lần 2 xong phai sửa lại thì chia cho nhiều người sửa, mình lại tổng hợp về 1 file để tổng hợp khối lượng. lúc nãy nhiều người sửa khi mình copy sheet về 1 file lý trình nó không theo thứ tự, mình muốn nó sắp sếp theo thứ tự tăng dần để làm cho nhanh khối lượng tổng hợp
 
Upvote 0

VetMini

Ăn cùng góc phố
Tham gia
21/12/12
Bài viết
14,086
Được thích
18,578
Bạn gõ bằng tay tên các sheet theo trật tự mà bạn mong muốn lên đây xem.
Có sẫn cái danh sách trật tự ấy, tôi làm tay dưới 1 phút.
Tôi có khả năng kéo tab của sheet dưới 1 giây 1 cái. 50 cái dưới 1 phút.
Quý vị bi giờ quen tự động quá cho nên cứ nghĩ đến số nhiều là chạy làng rồi.
 
Upvote 0

simmung

Thành viên mới
Tham gia
16/3/17
Bài viết
13
Được thích
0
Có 5km đường mà lắm cống vậy tận 50 cái. 250m 1 cái thôi, ngoài ra bố trí cống ở khe tụ thủy nữa. Tôi hay làm đường miền núi nhiều lắm cũng chưa đến mức đấy. Bác hỏi lại bên thiết kế xem
đường em tới 20km anh ạ. đó là em xóa bớt cống anh ạ.
Bài đã được tự động gộp:

Bạn gõ bằng tay tên các sheet theo trật tự mà bạn mong muốn lên đây xem.
em có chụp ảnh lại đây anh. nó sắp sếp theo thứ tự tăng dần như này ạ.
 

File đính kèm

  • 3.png
    3.png
    9.8 KB · Đọc: 4
Lần chỉnh sửa cuối:
Upvote 0

bebo021999

Thành viên gạo cội
Tham gia
26/1/11
Bài viết
4,545
Được thích
6,982
Giới tính
Nam
Nghề nghiệp
GPE
Dùng thử củ chuối này:
PHP:
Option Explicit
Sub sapxepSheet()
Application.ScreenUpdating = False
Dim count&, i&, j&, k&, name As String, arr()
count = Sheets.count
ReDim arr(1 To count, 1 To 2)
For i = 1 To count - 1
    name = Sheets(i).name
    
    ' Doi ten sheet voi so km format dang "000" va luu tên cu lai
    If name Like "KM*+*" Then
        k = k + 1
        arr(k, 1) = name
        arr(k, 2) = "KM" & Format(Mid(name, 3, InStr(3, name, "+") - 3), "000") & Mid(name, InStr(3, name, "+"), 255)
        Sheets(i).name = arr(k, 2)
    End If
Next

'Sap xep tang dan
For i = 1 To count - 1
        For j = i + 1 To count
        If Sheets(j).name < Sheets(i).name Then
            Sheets(j).Move before:=Sheets(i)
        End If
    Next j
Next i

'Tra lai ten cho em
For i = 1 To count
    For j = 1 To UBound(arr)
        If Sheets(i).name = arr(j, 2) Then Sheets(i).name = arr(j, 1)
    Next
Next
Application.ScreenUpdating = True
End Sub
 
Upvote 0

namvu230397

Thành viên mới
Tham gia
12/10/21
Bài viết
49
Được thích
18
Vậy quy luật "tăng dần" là ở chỗ nào? Km5 đến km8 rồi lại đến km6...?
Quy luật thông thường là KM A+BCD (BCD <= 999 với A lớn hơn thì sếp sau, A nhỏ hơn thì sếp trước. Trong trường hợp A bằng nhau thì xét đến BCD, cũng xét tương tự như với A. Ngoài ra còn có trường hợp đặc biệt là lý trình đứt thước khi đó BCD sẽ lớn hoặc bằng 1000.
 
Upvote 0
Web KT

Group

DIỄN ĐÀN GIẢI PHÁP EXCEL
Top Bottom