Chia một file excel thành nhiều file nhỏ

Liên hệ QC

katunkatun

Thành viên mới
Tham gia
3/8/18
Bài viết
12
Được thích
4
Giới tính
Nam
Xin chào anh/chị,
Hiện tại mình đang có một vấn đề rất mong các anh/chị cao nhân giúp đỡ.
Mình có 1 file lớn xuất từ hệ thống. Sếp mình cần chia nó thành từng file nhỏ và mỗi file phải đó phải có password (lương). Mình vò đầu bức tóc thì chỉ xem ra được một điểm chung là cứ 35 dòng sẽ được tách thành một file nhỏ thôi. Anh/chị nào biết cách chỉ mình với. Cám ơn anh/chị rất nhiều
 
Xin chào anh/chị,
Hiện tại mình đang có một vấn đề rất mong các anh/chị cao nhân giúp đỡ.
Mình có 1 file lớn xuất từ hệ thống. Sếp mình cần chia nó thành từng file nhỏ và mỗi file phải đó phải có password (lương). Mình vò đầu bức tóc thì chỉ xem ra được một điểm chung là cứ 35 dòng sẽ được tách thành một file nhỏ thôi. Anh/chị nào biết cách chỉ mình với. Cám ơn anh/chị rất nhiều
Phải có file cụ thể mới làm việc được bạn ạ. Bạn giả lập 1 file có cấu trúc giống với file thực tế của bạn rồi đưa lên đây, sẽ có câu trả lời sớm thôi.
 
Upvote 0
Do file dài quá nên mình cắt bớt chỉ để lại vài trường hợp cho dễ nhìn. Sếp mình yêu cầu mỗi phiếu lương của từng nhân viên phải được xuất ra thành một file riêng. Như trong file thì 5 người này trong sheet phiếu lương sẽ xuất ra 5 file excel riêng biệt và phải tên và password tương ứng như trong sheet Password bạn ạ.
Bạn xem qua và giúp với.
Xin cám ơn
 

File đính kèm

Upvote 0
Xin chào anh/chị,
Hiện tại mình đang có một vấn đề rất mong các anh/chị cao nhân giúp đỡ.
Mình có 1 file lớn xuất từ hệ thống. Sếp mình cần chia nó thành từng file nhỏ và mỗi file phải đó phải có password (lương). Mình vò đầu bức tóc thì chỉ xem ra được một điểm chung là cứ 35 dòng sẽ được tách thành một file nhỏ thôi. Anh/chị nào biết cách chỉ mình với. Cám ơn anh/chị rất nhiều
Bạn kiếm file dữ liệu gốc chứa bảng lương ấy, chứ bảng trên là Form bảng lương rồi (mà không ai lại đi lặp lại một form như vậy).

Chia ra các files nhỏ rồi có gửi email cho từng người không bạn? Hay là sếp tự làm tiếp?
Nếu mà có gửi email luôn thì nêu yêu cầu luôn nhé.
(Bạn có muốn lấy thưởng từ sếp không?)
 
Upvote 0
befaint
File dữ liệu gốc nó cũng như vậy bạn ạ. Chỉ là trong đó chứa lương nên mình không được phép show ra (thành thật xin lỗi) và những thông tin như mã nhân viên, phòng ban, chức vụ. Còn lại thì nó cũng nằm gói gọn trong form đó thôi bạn ạ. (mỗi phiếu lương bao gồm 35 dòng excel)

Bạn nói chính xác quá luôn: sau khi chia nhỏ ra sẽ phải gửi mail cho từng người luôn. Do lần đầu mình lên đây nhờ vả nên chưa dám nhờ nhiều ^^
Vì hiện tại bên mình phải in phiếu lương ra giấy, rồi gấp thủ công sau đó phát cho từng bộ phận (mất cả buổi sáng mới làm xong được bạn ạ).
Ban đầu mình dùng mailing gửi mẫu cho từng người nhưng bất tiện ở chổ lỡ nhập email nhầm người này sang người khác thì không còn gì là bảo mật nữa, hic.

Làm được cái này thì giảm tải được khối lượng công việc thôi chứ chắc gì đã có thưởng bạn ạ, :((
 
Upvote 0
Do file dài quá nên mình cắt bớt chỉ để lại vài trường hợp cho dễ nhìn. Sếp mình yêu cầu mỗi phiếu lương của từng nhân viên phải được xuất ra thành một file riêng. Như trong file thì 5 người này trong sheet phiếu lương sẽ xuất ra 5 file excel riêng biệt và phải tên và password tương ứng như trong sheet Password bạn ạ.
Bạn xem qua và giúp với.
Xin cám ơn
Code như sau nhé, nhớ đưa file này vào 1 thư mục cho dễ quản lý vì sau khi chạy code sẽ có nhiều file con được tạo ra đấy.
Mã:
Sub TachFile()
    Dim Cll As Range, Code As String, Pass As String
    On Error GoTo Err
    With Application
        .ScreenUpdating = False: .EnableEvents = False: .DisplayAlerts = False
    End With
    Set Cll = Sheet1.[A5]
    Do While Not IsEmpty(Cll)
        Code = Mid(Cll.Offset(2), 22, 6) 'Ma NV
        Pass = Sheet2.[B:B].Find(Code, , xlFormulas, xlWhole).Offset(, 1) 'Password
        Sheet1.Copy 'Copy sheet Phieu luong qua file moi
        With ActiveWorkbook
            Cll.Resize(30, 2).Copy .Sheets(1).[A5] 'Copy du lieu qua file moi
            .Sheets(1).[36:65000].Delete 'Xoa dong thua
            .SaveAs ThisWorkbook.Path & "\" & Code & ".xlsx", , Pass 'Luu file con
            .Close 'Dong file con
        End With
        Set Cll = Cll.Offset(35) 'Phieu luong ke tiep
    Loop
    MsgBox "Xong!"
Err:
    With Application
        .ScreenUpdating = True: .EnableEvents = True: .DisplayAlerts = True
    End With
End Sub
Bài đã được tự động gộp:

befaint
Bạn nói chính xác quá luôn: sau khi chia nhỏ ra sẽ phải gửi mail cho từng người luôn. Do lần đầu mình lên đây nhờ vả nên chưa dám nhờ nhiều ^^
Vì hiện tại bên mình phải in phiếu lương ra giấy, rồi gấp thủ công sau đó phát cho từng bộ phận (mất cả buổi sáng mới làm xong được bạn ạ).
Ban đầu mình dùng mailing gửi mẫu cho từng người nhưng bất tiện ở chổ lỡ nhập email nhầm người này sang người khác thì không còn gì là bảo mật nữa, hic.(
Cái vụ gửi email cho từng người thì bạn tham khảo trên diễn đàn, đã có 1 topic nói rất kỹ về vấn đề này: Gửi email tính lương cho từng người
 

File đính kèm

Lần chỉnh sửa cuối:
Upvote 0
befaint
File dữ liệu gốc nó cũng như vậy bạn ạ. Chỉ là trong đó chứa lương nên mình không được phép show ra (thành thật xin lỗi) và những thông tin như mã nhân viên, phòng ban, chức vụ. Còn lại thì nó cũng nằm gói gọn trong form đó thôi bạn ạ. (mỗi phiếu lương bao gồm 35 dòng excel)

Bạn nói chính xác quá luôn: sau khi chia nhỏ ra sẽ phải gửi mail cho từng người luôn. Do lần đầu mình lên đây nhờ vả nên chưa dám nhờ nhiều ^^
Vì hiện tại bên mình phải in phiếu lương ra giấy, rồi gấp thủ công sau đó phát cho từng bộ phận (mất cả buổi sáng mới làm xong được bạn ạ).
Ban đầu mình dùng mailing gửi mẫu cho từng người nhưng bất tiện ở chổ lỡ nhập email nhầm người này sang người khác thì không còn gì là bảo mật nữa, hic.

Làm được cái này thì giảm tải được khối lượng công việc thôi chứ chắc gì đã có thưởng bạn ạ, :((
(Mình nói nhờ giúp thôi, chứ nói nhờ vả thì đau nhiều thứ lắm :-p)

Vậy công việc thông báo lương của bạn gồm 2 phần:
- Gửi bản cứng (giấy in);
- Gửi email (đính kèm file).

Hai công việc kia với cỡ 150 người thôi cũng bở hơi tai rồi đó (bình thường nếu một người làm nhanh cũng ngót 2 ngày).
Nếu có VBA hỗ trợ thì (sau khi có dữ liệu lương đầy đủ) mọi thứ sẽ xong trong nửa ngày (bao gồm cả gấp giấy và phát xong bản cứng).

Dữ liệu ban đầu là bảng dữ liệu trải dài, không phải nằm trong form đó đâu. Bạn thay dữ liệu thật bằng abc gì đó, con số thì ghi 10-20 gì đó, giữ lại tiêu đề các cột. Vậy giải quyết xong vụ bí mật bí đường liền.
 
Upvote 0
Code như sau nhé, nhớ đưa file này vào 1 thư mục cho dễ quản lý vì sau khi chạy code sẽ có nhiều file con được tạo ra đấy.
Mã:
Sub TachFile()
    Dim Cll As Range, Code As String, Pass As String
    On Error GoTo Err
    With Application
        .ScreenUpdating = False: .EnableEvents = False: .DisplayAlerts = False
    End With
    Set Cll = Sheet1.[A5]
    Do While Not IsEmpty(Cll)
        Code = Mid(Cll.Offset(2), 22, 6) 'Ma NV
        Pass = Sheet2.[B:B].Find(Code, , xlFormulas, xlWhole).Offset(, 1) 'Password
        Sheet1.Copy 'Copy sheet Phieu luong qua file moi
        With ActiveWorkbook
            Cll.Resize(30, 2).Copy .Sheets(1).[A5] 'Copy du lieu qua file moi
            .Sheets(1).[36:65000].Delete 'Xoa dong thua
            .SaveAs ThisWorkbook.Path & "\" & Code & ".xlsx", , Pass 'Luu file con
            .Close 'Dong file con
        End With
        Set Cll = Cll.Offset(35) 'Phieu luong ke tiep
    Loop
    MsgBox "Xong!"
Err:
    With Application
        .ScreenUpdating = True: .EnableEvents = True: .DisplayAlerts = True
    End With
End Sub
Bài đã được tự động gộp:


Cái vụ gửi email cho từng người thì bạn tham khảo trên diễn đàn, đã có 1 topic nói rất kỹ về vấn đề này: Gửi email tính lương cho từng người
Cám ơn bạn, mình sẽ tham khảo topic bạn cho và cám ơn code của bạn, mình sẽ thử.
Bài đã được tự động gộp:

(Mình nói nhờ giúp thôi, chứ nói nhờ vả thì đau nhiều thứ lắm :p)

Vậy công việc thông báo lương của bạn gồm 2 phần:
- Gửi bản cứng (giấy in);
- Gửi email (đính kèm file).

Hai công việc kia với cỡ 150 người thôi cũng bở hơi tai rồi đó (bình thường nếu một người làm nhanh cũng ngót 2 ngày).
Nếu có VBA hỗ trợ thì (sau khi có dữ liệu lương đầy đủ) mọi thứ sẽ xong trong nửa ngày (bao gồm cả gấp giấy và phát xong bản cứng).

Dữ liệu ban đầu là bảng dữ liệu trải dài, không phải nằm trong form đó đâu. Bạn thay dữ liệu thật bằng abc gì đó, con số thì ghi 10-20 gì đó, giữ lại tiêu đề các cột. Vậy giải quyết xong vụ bí mật bí đường liền.

Hiện tại, nếu gửi email thành công bên mình sẽ không phải gửi giấy in nữa, cho nên mình cũng mong giải quyết được cái này.
Bên mình hơn 500 người, chỉ việc chỉnh bản in cho vừa trang + gấp giấy thôi là mất cả buổi sáng và nửa buổi chiều. Mình phải huy động thêm các bé thực tập phụ gấp mới mong làm nổi. Nên mình rất mong cái này giải quyết được, nếu được thì giảm tải công việc nhiều lắm. Để dồn thời gian còn lại chạy deadline báo cáo :(
Mình sẽ thử bảng code của bạn nghiaphuc xem thế nào. Cám ơn bạn nhiều
 
Lần chỉnh sửa cuối:
Upvote 0
Cám ơn bạn, mình sẽ tham khảo topic bạn cho và cám ơn code của bạn, mình sẽ thử.
Bài đã được tự động gộp:



Hiện tại, nếu gửi email thành công bên mình sẽ không phải gửi giấy in nữa, cho nên mình cũng mong giải quyết được cái này.
Bên mình hơn 500 người, chỉ việc chỉnh bản in cho vừa trang + gấp giấy thôi là mất cả buổi sáng và nửa buổi chiều. Mình phải huy động thêm các bé thực tập phụ gấp mới mong làm nổi. Nên mình rất mong cái này giải quyết được, nếu được thì giảm tải công việc nhiều lắm. Để dồn thời gian còn lại chạy deadline báo cáo :(
Mình sẽ thử bảng code của bạn nghiaphuc xem thế nào. Cám ơn bạn nhiều
Cám ơn bạn nghiaphuc nhiều ạ. Mình đã thử và thành công, tuy nhiên nó còn một vấn đề là khi xuất ra nhiều file con quá, mình có cách nào để khi xuất ra nó nằm sẵn trong một folder không bạn?
 
Upvote 0
Cám ơn bạn nghiaphuc nhiều ạ. Mình đã thử và thành công, tuy nhiên nó còn một vấn đề là khi xuất ra nhiều file con quá, mình có cách nào để khi xuất ra nó nằm sẵn trong một folder không bạn?
Bạn không nên làm theo phương án này của bạn, làm vậy không khác gì như xưa. Có 500 files rồi, bạn soạn 500 cái thư thì cũng mệt như xưa mà.

Mọi thứ bạn cần đã có sẵn hết rồi, chỉ chờ mỗi bảng dữ liệu của bạn thôi. Tức là sẵn tới mức bạn chỉ ấn chuột 01 cái duy nhất là 500 cái thư được gửi đúng, chuẩn, đầy đủ tới 500 người. Bạn để ý kỹ các bài viết trên vào.

Lại sắp có chuyện người giúp đi xin người nhờ...
 
Upvote 0
Bạn không nên làm theo phương án này của bạn, làm vậy không khác gì như xưa. Có 500 files rồi, bạn soạn 500 cái thư thì cũng mệt như xưa mà.

Mọi thứ bạn cần đã có sẵn hết rồi, chỉ chờ mỗi bảng dữ liệu của bạn thôi. Tức là sẵn tới mức bạn chỉ ấn chuột 01 cái duy nhất là 500 cái thư được gửi đúng, chuẩn, đầy đủ tới 500 người. Bạn để ý kỹ các bài viết trên vào.

Lại sắp có chuyện người giúp đi xin người nhờ...
À, cái này thì thật sự đúng là không nên bạn. Vì nếu ngồi gửi 500 cái mail thì mình thà ngồi in và gấp thủ công còn đỡ khổ hơn nữa.
Mình sẽ đọc kĩ cái topic kia vào. Cám ơn bạn nhiều
 
Upvote 0
À, cái này thì thật sự đúng là không nên bạn. Vì nếu ngồi gửi 500 cái mail thì mình thà ngồi in và gấp thủ công còn đỡ khổ hơn nữa.
Mình sẽ đọc kĩ cái topic kia vào. Cám ơn bạn nhiều
Bạn phải tiếp tục tìm giải pháp làm cách nào để ngồi uống cafe bấm 1 phát phải gửi được 500 cái mail chứ. Tự nhiên ngồi gõ bụp bụp từng cái gửi thì mình nghĩ cũng " có mà điên" thật, hihi =)))
 
Upvote 0
Bạn phải tiếp tục tìm giải pháp làm cách nào để ngồi uống cafe bấm 1 phát phải gửi được 500 cái mail chứ. Tự nhiên ngồi gõ bụp bụp từng cái gửi thì mình nghĩ cũng " có mà điên" thật, hihi =)))
Cám ơn các Pro đã hướng dẫn. Mình đã tìm được cách gửi hàng loạt theo đúng nhu cầu của mình.
Cám ơn các pro lần nữa. ^^
 
Upvote 0
Code như sau nhé, nhớ đưa file này vào 1 thư mục cho dễ quản lý vì sau khi chạy code sẽ có nhiều file con được tạo ra đấy.
Mã:
Sub TachFile()
    Dim Cll As Range, Code As String, Pass As String
    On Error GoTo Err
    With Application
        .ScreenUpdating = False: .EnableEvents = False: .DisplayAlerts = False
    End With
    Set Cll = Sheet1.[A5]
    Do While Not IsEmpty(Cll)
        Code = Mid(Cll.Offset(2), 22, 6) 'Ma NV
        Pass = Sheet2.[B:B].Find(Code, , xlFormulas, xlWhole).Offset(, 1) 'Password
        Sheet1.Copy 'Copy sheet Phieu luong qua file moi
        With ActiveWorkbook
            Cll.Resize(30, 2).Copy .Sheets(1).[A5] 'Copy du lieu qua file moi
            .Sheets(1).[36:65000].Delete 'Xoa dong thua
            .SaveAs ThisWorkbook.Path & "\" & Code & ".xlsx", , Pass 'Luu file con
            .Close 'Dong file con
        End With
        Set Cll = Cll.Offset(35) 'Phieu luong ke tiep
    Loop
    MsgBox "Xong!"
Err:
    With Application
        .ScreenUpdating = True: .EnableEvents = True: .DisplayAlerts = True
    End With
End Sub
Bài đã được tự động gộp:


Cái vụ gửi email cho từng người thì bạn tham khảo trên diễn đàn, đã có 1 topic nói rất kỹ về vấn đề này: Gửi email tính lương cho từng người
Bạn ơi, khi file bỏ ít người (cỡ 10 người) thì code vẫn xuất bình thường. Nhưng khi mình copy toàn bộ file lương (cỡ gần 20000 dòng) thì file chỉ xuất 20 phiếu rồi dừng lại và không xuất tiếp nữa. không biết là file vị lỗi gì ạ?
 
Upvote 0
Code như sau nhé, nhớ đưa file này vào 1 thư mục cho dễ quản lý vì sau khi chạy code sẽ có nhiều file con được tạo ra đấy.
Mã:
Sub TachFile()
    Dim Cll As Range, Code As String, Pass As String
    On Error GoTo Err
    With Application
        .ScreenUpdating = False: .EnableEvents = False: .DisplayAlerts = False
    End With
    Set Cll = Sheet1.[A5]
    Do While Not IsEmpty(Cll)
        Code = Mid(Cll.Offset(2), 22, 6) 'Ma NV
        Pass = Sheet2.[B:B].Find(Code, , xlFormulas, xlWhole).Offset(, 1) 'Password
        Sheet1.Copy 'Copy sheet Phieu luong qua file moi
        With ActiveWorkbook
            Cll.Resize(30, 2).Copy .Sheets(1).[A5] 'Copy du lieu qua file moi
            .Sheets(1).[36:65000].Delete 'Xoa dong thua
            .SaveAs ThisWorkbook.Path & "\" & Code & ".xlsx", , Pass 'Luu file con
            .Close 'Dong file con
        End With
        Set Cll = Cll.Offset(35) 'Phieu luong ke tiep
    Loop
    MsgBox "Xong!"
Err:
    With Application
        .ScreenUpdating = True: .EnableEvents = True: .DisplayAlerts = True
    End With
End Sub
Bài đã được tự động gộp:


Cái vụ gửi email cho từng người thì bạn tham khảo trên diễn đàn, đã có 1 topic nói rất kỹ về vấn đề này: Gửi email tính lương cho từng người

Code này mình thêm chổ .SaveAs ThisWorkbook.Path & "\" thành .SaveAs ThisWorkbook.Path & "\Phieuluong" & Format(DateAdd("m", -1, Now), "yyyy_mm") để file con xuất ra chứa vào thư mục mình tạo sẳn.
Nhưng do một số trường hợp đặc biệt (tháng đó nghỉ không lương nhiều không tham gia BH) thì số dòng lương còn lại là 34 (không phải 35). Dẫn đến việc xuất phiếu lương đến đấy sẽ bị dừng và không xuất tiếp nữa Vậy mình có cách nào để fix lỗi này không bác nghiaphuc
 
Upvote 0
Code này mình thêm chổ .SaveAs ThisWorkbook.Path & "\" thành .SaveAs ThisWorkbook.Path & "\Phieuluong" & Format(DateAdd("m", -1, Now), "yyyy_mm") để file con xuất ra chứa vào thư mục mình tạo sẳn.
Nhưng do một số trường hợp đặc biệt (tháng đó nghỉ không lương nhiều không tham gia BH) thì số dòng lương còn lại là 34 (không phải 35). Dẫn đến việc xuất phiếu lương đến đấy sẽ bị dừng và không xuất tiếp nữa Vậy mình có cách nào để fix lỗi này không bác nghiaphuc
Bạn sử dụng code sau nhé, trong code này tôi dùng Find để tìm bảng lương kế tiếp chứ không dịch chuyển cố định 35 dòng.
Mã:
Sub TachFile()
    Dim Cll As Range, Code As String, Pass As String, fAdd As String, i As Long, Tmp
    On Error GoTo Err
    With Application
        .ScreenUpdating = False: .EnableEvents = False: .DisplayAlerts = False
    End With
    Tmp = Sheet2.Range("B6:C" & Sheet2.[B65000].End(xlUp).Row).Value 'Vung luu Ma NV va password
    Set Cll = Sheet1.[A:A].Find("BTO CO.,LTD", Sheet1.[A1], xlFormulas, xlPart)
    fAdd = Cll.Address 'Dia chi tuong ung phieu luong dau tien
    Do
        Code = Mid(Cll.Offset(2), 22, 6) 'Ma NV
        i = 1
        Do While i <= UBound(Tmp) And Tmp(i, 1) <> Code 'Tim vi tri chua Ma NV trong vung luu Ma NV va pasword
            i = i + 1
        Loop
        If i <= UBound(Tmp) Then Pass = Tmp(i, 2) 'Password
        Sheet1.Copy 'Copy sheet Phieu luong qua file moi
        With ActiveWorkbook
            Cll.Resize(30, 2).Copy .Sheets(1).[A5] 'Copy du lieu qua file moi
            .Sheets(1).[36:65000].Delete 'Xoa dong thua
            .SaveAs ThisWorkbook.Path & "\PhieuLuong" & Format(DateAdd("m", -1, Now), "yyyy_mm") & "\" & Code & ".xlsx", , Pass  'Luu file con
            .Close 'Dong file con
        End With
        Set Cll = Sheet1.[A:A].FindNext(Cll) 'Phieu luong ke tiep
    Loop Until Cll.Address = fAdd
    MsgBox "Xong!"
Err:
    With Application
        .ScreenUpdating = True: .EnableEvents = True: .DisplayAlerts = True
    End With
End Sub
 
Upvote 0
Bạn sử dụng code sau nhé, trong code này tôi dùng Find để tìm bảng lương kế tiếp chứ không dịch chuyển cố định 35 dòng.
Mã:
Sub TachFile()
    Dim Cll As Range, Code As String, Pass As String, fAdd As String, i As Long, Tmp
    On Error GoTo Err
    With Application
        .ScreenUpdating = False: .EnableEvents = False: .DisplayAlerts = False
    End With
    Tmp = Sheet2.Range("B6:C" & Sheet2.[B65000].End(xlUp).Row).Value 'Vung luu Ma NV va password
    Set Cll = Sheet1.[A:A].Find("BTO CO.,LTD", Sheet1.[A1], xlFormulas, xlPart)
    fAdd = Cll.Address 'Dia chi tuong ung phieu luong dau tien
    Do
        Code = Mid(Cll.Offset(2), 22, 6) 'Ma NV
        i = 1
        Do While i <= UBound(Tmp) And Tmp(i, 1) <> Code 'Tim vi tri chua Ma NV trong vung luu Ma NV va pasword
            i = i + 1
        Loop
        If i <= UBound(Tmp) Then Pass = Tmp(i, 2) 'Password
        Sheet1.Copy 'Copy sheet Phieu luong qua file moi
        With ActiveWorkbook
            Cll.Resize(30, 2).Copy .Sheets(1).[A5] 'Copy du lieu qua file moi
            .Sheets(1).[36:65000].Delete 'Xoa dong thua
            .SaveAs ThisWorkbook.Path & "\PhieuLuong" & Format(DateAdd("m", -1, Now), "yyyy_mm") & "\" & Code & ".xlsx", , Pass  'Luu file con
            .Close 'Dong file con
        End With
        Set Cll = Sheet1.[A:A].FindNext(Cll) 'Phieu luong ke tiep
    Loop Until Cll.Address = fAdd
    MsgBox "Xong!"
Err:
    With Application
        .ScreenUpdating = True: .EnableEvents = True: .DisplayAlerts = True
    End With
End Sub
Mình đã thử và thành công. Ban đầu mình copy và chạy không ra, nhưng tìm ra được lý do là ("BTO CO.,LTD" còn có những khoảng trắng phía trước, mình copy nguyên xi qua và chạy ngon lành. Cám ơn bác nghiaphuc ạ
 
Upvote 0
Web KT

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

Back
Top Bottom